Provider guide · SendGrid
One detail causes most SendGrid failures: the username field does not take your account name or your email. It takes the literal word apikey, and the password is a key you create once. Get that pair right and the rest is sender verification.
1 · Credentials
SendGrid never asks WordPress for your account password. Authentication is a key you generate in the dashboard, shown to you exactly once.
In the SendGrid console, open Settings in the left navigation, then API Keys.
Click Create API Key, name it, for instance “WordPress”, and give it Mail Send permission; nothing broader is needed for sending.
SendGrid states it cannot retrieve or restore a key later; a lost key is deleted and replaced.
Under Settings, Sender Authentication: either a single verified address, the quick path, or the authenticated domain SendGrid itself recommends, done by adding the DNS records it generates for you. Nothing real leaves before one of the two exists.
2 · In the plugin
Selecting the SendGrid preset fills the server (smtp.sendgrid.net), the port (587) and the encryption (TLS). What remains is yours.
The string apikey. Not your account name, not your email, not the key itself. The same six letters for every SendGrid customer.
The API key you just created, beginning with SG.
An address covered by your verified sender or authenticated domain, exactly.
Save, then use Send Test Email. An authentication failure here almost always means the username field holds something other than the word apikey.
3 · Pitfalls
The username confusion aside, SendGrid’s hurdles are about proving you own what you send from.
SendGrid refuses mail until you verify a sender. Single Sender Verification, confirming one address by email, is fine for testing; for a site in production SendGrid recommends domain authentication, which has you add a few DNS records, typically CNAMEs it generates, so SPF and DKIM pass for your whole domain. Do the domain properly once and deliverability follows.
A verified sender covers that one address; an authenticated domain covers any address on it. If the From you configure in the plugin is outside what you verified, SendGrid will not deliver it, and the error names the sender identity requirement.
Since 2025, new SendGrid accounts get a 60-day trial, around 100 emails a day, and sending stops when the trial ends until you move to a paid plan. If your volume is modest and you want free to stay free, Brevo currently keeps a daily free allowance, and Amazon SES is pennies at low volume.
The key in your WordPress database can send mail as you, so give it Mail Send permission only, not full access. If it ever leaks, delete it in the SendGrid console and paste a new one into the plugin; nothing else has to change.
The email log keeps the exact error message the server returned, which is the fastest route to the cause. The documentation walks through the common ones.
There is a guide like this one for each of the twelve presets, from Gmail to Amazon SES, and the plugin takes any other SMTP server too.