SMTP
Routes all outgoing WordPress email through a real mail provider instead of the server. Pick the provider and the host, port and encryption fill in; you add the login details, set what recipients see as the sender, and send yourself a test.
Settings
- Enable SMTP
- The master switch. Off, WordPress uses PHP mail(). On, everything goes through the settings below. Shows Active or Not active beside it.
- Email Provider
- Gmail, Outlook / Office 365, Yahoo Mail, SendGrid, Mailgun, Amazon SES, or Custom. Choosing one fills the server settings and shows provider-specific notes with a link to where the credentials are made.
- Server Settings
- SMTP Host, Port and Encryption (TLS recommended, SSL, or None). Filled automatically for the named providers; only edit for Custom.
- Authentication — Gmail
- Your full Gmail address and a 16-character App Password, not your normal password. Generated under Google Account → Security → App passwords; two-step verification must be on first.
- Authentication — Outlook / Office 365
- Your email address and password. If that fails, generate an App Password in your Microsoft account.
- Authentication — Yahoo
- Yahoo requires an App Password and shows it once; copy it immediately.
- Authentication — SendGrid
- Username is always the literal word
apikey. Password is an API key with Mail Send permission. You must also verify your sender identity in SendGrid before anything sends. Free plan is 100 emails a day. - Authentication — Mailgun
- The SMTP-specific username and password from your Mailgun domain page, not your Mailgun account login.
- Authentication — Amazon SES
- SMTP credentials generated in the SES console. These are not your AWS access keys.
- From Details
- From Name and From Email: what recipients see as the sender. The address must be one the provider allows you to send as, usually on your own domain or the account’s own address.
- Send Test Email
- Save first, then send a test to any address. The result shows on the page. Do this before you trust it with enquiries.
When something looks wrong
- Test fails: authentication error
- Gmail and Yahoo: you used your login password; make an App Password. Outlook: try an App Password. SendGrid: the username must be exactly
apikey. Mailgun and SES: you used account credentials instead of SMTP credentials. - Test fails: connection timed out
- Your host blocks outbound SMTP ports. Try port 587 with TLS, then 465 with SSL. If both fail, ask your host to open the port; some shared hosts refuse, in which case use an HTTP-based provider’s SMTP relay on port 2525.
- Test sends, but the From address is replaced
- The provider rewrites the From to an address it has verified. Either verify your domain with the provider, or set From Email to the account’s own address.
- Test sent, but it landed in spam
- That is a Deliverability problem, not an SMTP problem. Run the checks on the Deliverability tab.
- SendGrid: sender identity not verified
- In SendGrid, verify a single sender address or authenticate your domain. Nothing sends until one is done.
Email log
Every message WordPress tried to send, with the time, recipient, subject, whether it got out, and the error if it did not. When a customer says they filled in the form and nobody replied, this is where you find out whether the email was ever sent, and why not. The last 500 messages are kept; the tab shows the most recent 100.
Settings
- All / Sent / Failed
- Filters with counts. Failed is the one to check first.
- Search
- By recipient address or subject.
- Details
- For a sent message, what sent it. For a failed one, the error the mail server returned, word for word.
- Clear Log
- Empties it. It refills as email is sent.
When something looks wrong
- A form submission is not in the log
- The form plugin did not call WordPress’s mail function, so MetaWrench never saw it. Some form plugins send through their own service. Check the form plugin’s own sending settings.
- Status is Sent but the customer never received it
- Sent means the provider accepted the message. After that it is in the provider’s hands and the recipient’s spam filter. Run the Deliverability checks, and ask the customer to look in spam.
- Failed with “mailbox unavailable” or “user unknown”
- The recipient address does not exist. Usually a typo in the form.
- Failed with an authentication error
- The SMTP credentials stopped working — an App Password was revoked, or an API key expired. Fix on the SMTP tab and send a test.
- Every message is Failed
- SMTP is on but misconfigured, or the host blocked the port. Send a test from the SMTP tab to see the full error.
Deliverability
Three DNS records decide whether receiving mail servers trust email from your domain. SPF lists which servers may send for you. DKIM signs each message so it cannot be altered. DMARC tells receivers what to do with mail that fails the other two. Without them, mail lands in spam or is rejected, no matter how good the SMTP setup is.
The tab checks all three for your domain, explains each in plain terms, and for anything missing shows the exact TXT record to paste at your DNS host.
Settings
- SPF Record
- Pass or missing. If missing, the tab shows a record to add, with a note to replace the placeholder with your actual mail provider’s include (
include:sendgrid.net,include:_spf.google.com, and so on). - DKIM Record
- Pass or missing. DKIM keys are generated by your mail provider, not by MetaWrench: SendGrid, Mailgun, SES and Google Workspace all produce the records for you to add.
- DMARC Record
- Pass or missing. If missing, the tab shows a record to add. A starting policy of
p=nonemonitors without blocking; move top=quarantineonce SPF and DKIM both pass. - Re-run Checks
- After changing DNS. Changes can take up to 24–48 hours to spread.
When something looks wrong
- I added the record and it still says missing
- DNS propagation. Wait a few hours and re-run. If it is still missing after a day, check the record was added to the right domain and as a TXT record with the exact host shown.
- SPF passes but mail still goes to spam
- Add DKIM; most receivers treat unsigned mail as suspicious. Then DMARC. Also check the From address is on your own domain, not a Gmail address, since Gmail’s own SPF will not cover your server.
- I already have an SPF record and the tab wants me to add another
- A domain can have only one SPF record. Edit the existing one to add your provider’s include, rather than adding a second.
- Where do I add DNS records
- Wherever your domain is managed: your registrar, your host, or Cloudflare if you use it. Look for DNS, DNS zone, or DNS records.