Skip to the documentation
MCP server

Domain checks

The public mail records of any domain.

Domain checks tools

ToolWhat it does
checkDmarcWhat the DMARC record of any domain says: how strict it is, every tag, the parent domain it inherits from and what is wrong with it.
checkBimiWhether inboxes can draw the logo a domain publishes, with the logo, its mark certificate, the DMARC policy beside it and what stops it showing.
checkDeliverabilityMX, SPF, DKIM, DMARC and BIMI for any domain, each pass, warn, fail or absent with a verdict, weighed into a score out of 100 and a grade from A to F.
checkAddressWhether an email address is worth sending to: its syntax, whether the domain takes mail, throwaway and shared addresses, a likely typo, and what this workspace already knows about it.

These are the free checkers on the Nextmail website. They read public DNS and nothing in the workspace, so they need no permission and work on any domain, not only yours.

Every answer is what DNS said at that moment. A result that starts Refused (unreachable): means DNS did not answer, and is worth trying again.

Reference

checkDmarc

No scopeThe app's assistant runs it without askingToolkitworkspace

Read any domain's DMARC record from public DNS, as the DMARC checker on the Nextmail website does: how strict it is (missing, invalid, monitor for p=none, quarantine or reject), every tag, the parent domain it inherits from, and what is wrong with it.

Inputs

domainstringRequired

The domain, such as acme.com. An email address or a URL is read as its domain.

1 to 320 characters

Also available in

API
GET /tools/dmarc
TypeScript
nextmail.tools.checkDmarc()
Python
tools.check_dmarc()
Ruby
tools.check_dmarc
PHP
tools->checkDmarc
Go
Tools.CheckDmarc
Java
tools().checkDmarc
C#
Tools.CheckDmarcAsync

checkBimi

No scopeThe app's assistant runs it without askingToolkitworkspace

Read any domain's BIMI record, fetch the logo it names and check the DMARC policy beside it, as the BIMI checker on the Nextmail website does. Inboxes draw a logo only at p=quarantine or p=reject, and the issues say what stops it showing.

Inputs

domainstringRequired

The domain, such as acme.com. An email address or a URL is read as its domain.

1 to 320 characters

Also available in

API
GET /tools/bimi
TypeScript
nextmail.tools.checkBimi()
Python
tools.check_bimi()
Ruby
tools.check_bimi
PHP
tools->checkBimi
Go
Tools.CheckBimi
Java
tools().checkBimi
C#
Tools.CheckBimiAsync

checkDeliverability

No scopeThe app's assistant runs it without askingToolkitworkspace

Check whether mail from any domain is set up to be trusted, as the deliverability checker on the Nextmail website does: MX, SPF, DKIM, DMARC and BIMI, each pass, warn, fail or absent with a verdict, weighed into a score out of 100 and a grade from A to F.

Inputs

domainstringRequired

The domain, such as acme.com. An email address or a URL is read as its domain.

1 to 320 characters

Also available in

API
GET /tools/deliverability
TypeScript
nextmail.tools.checkDeliverability()
Python
tools.check_deliverability()
Ruby
tools.check_deliverability
PHP
tools->checkDeliverability
Go
Tools.CheckDeliverability
Java
tools().checkDeliverability
C#
Tools.CheckDeliverabilityAsync

checkAddress

No scopeThe app's assistant runs it without askingToolkitworkspace

Check whether email addresses are worth sending to, up to 100 at a time. Each comes back valid, risky, invalid or unknown with the reasons: bad syntax, a domain that takes no mail, a throwaway domain, a role address such as info@, a likely typo with a suggestion, and whether this workspace suppressed it or saw it bounce. deep also asks whether the mailbox exists, which is billed per address through pay as you go.

Inputs

emailsstring[]Required
1 to 100 items
deepboolean

Also ask whether each mailbox exists. Billed per address, so off by default.

Also available in

API
GET /tools/address
TypeScript
nextmail.tools.checkAddress()
Python
tools.check_address()
Ruby
tools.check_address
PHP
tools->checkAddress
Go
Tools.CheckAddress
Java
tools().checkAddress
C#
Tools.CheckAddressAsync