By default WordPress sends email with PHP mail(), which has no authentication, so a lot of it goes to spam or is never delivered. Saral SMTP sends every wp_mail() email through a proper email service instead, using the service’s own API where it has one. Plugins and themes that send email need no changes.
Most SMTP plugins stop there: one service for every email, and a generic “check your SPF and DKIM” warning. Saral SMTP is built for sites where email matters enough to get those two things right.
Route by sender
A shop’s order emails, a contact form’s messages and WordPress’s password resets have different needs. Saral SMTP knows which plugin, theme or WordPress feature sent each email, so you can send each sender’s emails through its own connection: WooCommerce orders through Amazon SES, contact form messages through your Google Workspace mailbox, everything else through Brevo. The fallback connection still covers all of them, and the email log shows why each email went through the connection it did.
A deliverability check that knows your email service
Since 2024 Gmail, Yahoo and Microsoft reject or junk email from domains without SPF, DKIM and DMARC, and every email service needs different records. Choose a connection and Saral SMTP checks the records that service needs: the SPF include it requires (merged into your existing SPF record, ready to copy), the DKIM selectors it signs with, MailChannels’ Domain Lockdown, and DMARC. For Amazon SES it asks SES for your domain’s three DKIM keys and tells you exactly which CNAME records are missing. “Other SMTP” connections are recognized by their server, so smtp.office365.com is checked as Microsoft 365.
Supported email services
Features
wp_mail() functions.wp saral-smtp test, connections, stats, purge-logs and retry-failed.Developer hooks
saralsmtp_providers: register your own provider by extending SaralSMTP_Provider.saralsmtp_default_connection: choose a connection programmatically.saralsmtp_before_send, saralsmtp_mail_sent, saralsmtp_mail_failed: actions around every send.saralsmtp_pre_send: change an email just before it is sent, or stop it (return true or false).saralsmtp_logged: runs after an email is logged, with the log id, status and the service’s message id.saralsmtp_stored_settings, saralsmtp_stored_connections: supply settings and connections, e.g. one setup for a multisite network.saralsmtp_nav_pages, saralsmtp_log_row_status, saralsmtp_log_view: add pages to the Saral SMTP menu and details to the email log.saralsmtp_http_timeout, saralsmtp_smtp_timeout, saralsmtp_dkim_selectors.SARALSMTP_ENCRYPTION_KEY in wp-config.php to use your own encryption key instead of the site’s salts.Saral SMTP delivers your site’s emails through an email service that you choose. It does not contact any service until you add a connection for it, and it never sends data to Saral Techies.
What is sent, and when. Each time your site sends an email (through wp_mail(), including the test emails, failure alerts and weekly summaries you turn on), Saral SMTP sends that email to the service of the connection that handles it: the From address and name, the recipients (To, Cc, Bcc and Reply-To), the subject, the message content, its headers and its attachments. The request also carries the API key, password or sign-in token you entered for that service, so the service knows the email is yours. If you set a fallback connection, an email that fails goes to the fallback service as well. Failed emails are sent again automatically (up to the retry limit you choose) to the same service.
Each service below is used only if you create a connection for it.
Sends email over SMTP to the server you enter, with the username and password you enter. The presets only fill in a well-known server address for you: smtp.gmail.com, smtp.office365.com, smtp-mail.outlook.com, smtp.zoho.com, smtppro.zoho.com, smtp.zoho.eu, smtppro.zoho.eu, smtp.zoho.in, smtppro.zoho.in, smtppro.zoho.com.au, smtp.mail.yahoo.com, smtp.mail.me.com, email-smtp.us-east-1.amazonaws.com (Amazon SES), smtpout.secureserver.net (GoDaddy), smtp.hostinger.com, smtp.fastmail.com, smtp.yandex.com, smtp.aol.com, mail.gmx.com, smtp.ionos.com, mail.privateemail.com (Namecheap), smtp-relay.brevo.com, smtp.sendgrid.net, smtp.mailgun.org, in-v3.mailjet.com, smtp.postmarkapp.com, live.smtp.mailtrap.io, mail.smtp2go.com, smtp.mailersend.net, smtp-pulse.com (SendPulse) and smtp.resend.com. The terms and privacy policy of the provider that runs the server apply; the links for most of them are listed below.
Sends email from your Google account with the Gmail API. When you click Connect, you sign in at accounts.google.com; your site then sends the authorisation code with your OAuth client ID and secret to oauth2.googleapis.com to get access tokens (and later to renew them), and reads your account’s email address from www.googleapis.com. Each email is sent to gmail.googleapis.com.
Terms of Service, Privacy Policy
Sends email from your Microsoft account with Microsoft Graph. When you click Connect, you sign in at login.microsoftonline.com; your site then sends the authorisation code with your app’s client ID and secret to login.microsoftonline.com to get access tokens (and later to renew them), and reads your account’s email address from graph.microsoft.com. Each email is sent to graph.microsoft.com.
Services Agreement, Privacy Statement
Sends email from your Zoho Mail account with the Zoho Mail API. When you click Connect, you sign in at accounts.zoho. (accounts.zohocloud.ca in Canada); your site then sends the authorisation code with your client ID and secret there to get access tokens (and later to renew them), and reads your mail account ID and email address from mail.zoho. (mail.zohocloud.ca). Each email and its attachments are sent to mail.zoho. (mail.zohocloud.ca). The region is the data centre you choose: com, eu, in, com.au, jp, sa or com.cn.
Terms of Service, Privacy Policy
Sends each email to the Amazon SES API at email..amazonaws.com, where is the AWS region you choose (for example email.us-east-1.amazonaws.com), signed with your access key. When you run the deliverability check for an Amazon SES connection, Saral SMTP also asks the same API for that domain’s verification and DKIM status (GetEmailIdentity), sending only the domain name.
AWS Service Terms, Privacy Notice
Sends each email to the SendGrid API at api.sendgrid.com, or api.eu.sendgrid.com if you choose the EU region.
Terms of Service, Privacy Notice
Sends each email to the Mailgun API at api.mailgun.net, or api.eu.mailgun.net if you choose the EU region.
Terms of Service, Privacy Policy
Sends each email to the Brevo API at api.brevo.com.
Terms of Use, Privacy Policy
Sends each email to the Postmark API at api.postmarkapp.com.
Terms of Service, Privacy Policy
Sends each email to the Resend API at api.resend.com.
Terms of Service, Privacy Policy
Sends each email to the MailerSend API at api.mailersend.com.
Terms of Use, Privacy Policy
Sends each email to the Mailjet API at api.mailjet.com.
Terms of Use, Privacy Policy
Sends each email to the SparkPost API at api.sparkpost.com, or api.eu.sparkpost.com if you choose the EU region.
Terms of Service, Privacy Policy
Sends each email to the ZeptoMail API at api.zeptomail., where is the one you choose: com, eu, in, com.au, jp, ca, sa or com.cn.
Terms of Service, Privacy Policy
Sends each email to the Mandrill API at mandrillapp.com.
Terms of Use, Privacy Statement
Sends each email to the Mailtrap Email Sending API at send.api.mailtrap.io, or bulk.api.mailtrap.io if you choose the bulk stream.
Terms of Service, Privacy Policy
Sends each email to the SMTP2GO API at api.smtp2go.com.
Terms of Service, Privacy Policy
Sends each email to the Elastic Email API at api.elasticemail.com.
Terms of Use, Privacy Policy
Sends each email to the SendLayer API at console.sendlayer.com.
Terms of Service, Privacy Policy
Sends each email to the Cloudflare API at api.cloudflare.com, using your account ID and API token.
Terms of Use, Privacy Policy
Sends each email to the MailChannels Email API at api.mailchannels.net.
Terms of Service, Privacy Policy
Sends your API ID and secret to api.sendpulse.com to get an access token (reused until it expires), then sends each email to api.sendpulse.com.
Terms of Use, Privacy Policy
Sends each email to the SMTP.com API at api.smtp.com.
Terms and Conditions, Privacy Policy
Sends each email to the SocketLabs Injection API at inject.socketlabs.com.
Terms of Service, Email Service Privacy Policy
Sends each email to the Netcore Email API at api.pepipost.com.
Terms of Use, Email API Terms, Privacy Policy
Sends each email to the toSend API at api.tosend.com.
Terms of Service, Privacy Policy
Sends each email to the Postal server address you enter. Postal is software you or your host run, so no third party is involved unless someone else runs that server for you.
Hands each email to your web server’s own mail program. Saral SMTP contacts no external service.
When you turn on an alert channel, Saral SMTP sends a message to it each time an email fails to send, and when you click “Send test alert”. The message contains your site address, the failed email’s subject, recipients and From address, the connection name, the error message, the time and a link to your email log. Nothing is sent to channels you leave turned off.
Alert emails and weekly summaries go through your own mail connection, like any other email.
When you run it, the check looks up the SPF, DKIM, DMARC, MX (and for MailChannels, Domain Lockdown) DNS records of the domain you enter, using your server’s normal DNS resolver. Apart from the Amazon SES lookup described above, no other service is contacted.
Service logos are trademarks of their respective owners and are shown only to identify each service. Services without a logo below are shown with their initials.