All 17 Email Delivery sections

See every section

Sending a test

Updated Email Delivery 1.7.0Tested with WordPress 7.1

Email Delivery → Send a test. Put in an address you can actually open and press the button.

If it works, you are done. If it does not, the screen shows the conversation with the mail server. It looks like this:

CLIENT -> SERVER: EHLO example.com
SERVER -> CLIENT: 250-smtp.example.net
CLIENT -> SERVER: AUTH LOGIN
CLIENT -> SERVER: [hidden by Email Delivery]
SERVER -> CLIENT: 535 5.7.8 Username and Password not accepted

The last line is the answer. A few of the common ones:

  • 535 — the username or password is wrong. Check which of the two the service actually wants, above.
  • 550 sender not verified / 553 — the From address is not one this service will send as. Verify it with them, or use one that is.
  • Connection timed out / could not connect — your host is blocking outgoing connections on that port, or the mail server is down. The test tries other ports for you (below).
  • certificate verify failed — the mail server's certificate is not trusted, which on an internal relay is normal and on a public service is not.

The username and password are taken out of the transcript before it is stored, so it is safe to paste into a support request.

When the mail port is blocked#

Some web hosts block the ports mail is sent on. DigitalOcean, for one, blocks 25, 465 and 587 on its Droplets. The test then fails before the mail server has said a word: the connection is refused, times out, or finds no way to the host.

When that happens, Send a test tries the other ports your mail service publishes on its own set-up page, a few seconds each, at most three of them and at most 15 seconds in all. It stops at the first one where the mail server says hello. Nothing is signed in to and nothing is sent; it only checks that the port gets through. Then the result says, for example, Port 587 did not answer from this server. Port 2525 did., with a Use port 2525 button and a link to the service's own page that lists the port. Port 2525 is not a port anybody would guess, which is why the page is named.

Nothing changes until you press Use port 2525. It saves that port, and the encryption the port needs, the same way the Settings screen saves them, and says what it changed. Press Send the test again to check it. When no port answers, the result says which ports were tried and what to ask your web host: whether it blocks outgoing connections to your mail server, and which port it allows. Some hosts open a port on request; others offer a mail service of their own instead.

The ports tried for each service:

ServicePorts tried, in order
SendGrid, Mailgun2525, 465 (SSL), 25
Postmark2525, 25
Brevo2525, 465 (SSL)
Mailjet2525, 465 (SSL), 80
SMTP2GO2525, 465 (SSL), 80
Amazon SES2587, 465 (SSL), 2465 (SSL)
Gmail or Google Workspace465 (SSL), 25
Outlook or Microsoft 36525
Zoho Mail465 (SSL)
Fastmail587 (TLS)
Another service, or my own mail server465 (SSL), 2525

The port you already use is left out, so a site on port 465 has 587 tried instead. Gmail, Microsoft 365, Amazon SES, Zoho and Fastmail do not publish 2525, so it is not tried for them. Nothing is tried when the mail server answered and refused something else (a password, a From address), when the mail server's name could not be found (a typing mistake in Mail server), when Encryption is None (a mail server on the same machine), or when the site sends through the web server. When the mail server could not be reached and no port was tried, the result says why in one line. The note under Send the test about other ports appears only when they would be tried.

The daily sign-in check does not try other ports. When it could not connect, the Sign-in card on the Dashboard says so, and links to Send a test when the test would try other ports: not when Encryption is None, or when the mail server's name could not be found.

Still stuck? Ask the developers who wrote it. We aim to reply within one business day.