007AJ SMTP Mailer sends your WordPress email (password resets, orders, form messages) through a real email account instead of the web server's PHP mail, so it reaches the inbox.
007aj-smtp-mailer.zip under Plugins > Add New > Upload Plugin).Requirements: WordPress 6.2+, PHP 7.4+, and the PHP sodium or openssl extension (one of them is needed to store passwords encrypted). The openssl extension is also needed for SSL/TLS SMTP connections.
Open it any time from SMTP Mailer > Tools > Run the setup wizard again. Each step has an Exit setup link.
ajsm_wizard_interest); nothing is sent anywhere.Go to SMTP Mailer > Settings, choose Other SMTP, then use Preset to fill the server details:
| Preset | Host | Port | Encryption |
|---|---|---|---|
| Fastmail | smtp.fastmail.com | 465 | SSL |
| Gmail (app password) | smtp.gmail.com | 465 | SSL |
| Outlook.com / Hotmail | smtp-mail.outlook.com | 587 | TLS |
| Yahoo Mail | smtp.mail.yahoo.com | 465 | SSL |
| Zoho Mail | smtp.zoho.com | 465 | SSL |
| iCloud Mail | smtp.mail.me.com | 587 | TLS |
| Office 365 / GoDaddy | smtp.office365.com | 587 | TLS |
| cPanel / hosting mailbox | mail.yourdomain | 465 | SSL |
Fields: SMTP host, Encryption (SSL, TLS/STARTTLS or None), Port, Auto TLS (with encryption None, upgrade to TLS if offered), Authentication, Username and Password / app password.
you@fastmail.fm). Password: the app password.wordpress@yourdomain / "WordPress") and keeps addresses other plugins set. With Force, it always uses yours (recommended, because most mail servers only accept their own addresses).Go to SMTP Mailer > Test Email, enter an address, choose HTML or Plain text and click Send test email. On failure you get a plain-English explanation (for example "The mail server rejected the username or password" with advice to use an app password), the raw error and an SMTP debug transcript. Passwords are replaced with ******** in the transcript, including their base64 forms used by SMTP login.
SMTP Mailer > Tools lists the last 20 failed emails (date, mailer, recipient, subject, error and what it means), a Clear errors button, a system check (encryption engine, key source, OpenSSL, PHP mail) and a link to rerun the wizard. Email bodies are not stored.
Any of these, added to wp-config.php above "That's all, stop editing", override the saved setting and make its field read-only:
define( 'AJSM_ON', true ); // false forces PHP mail define( 'AJSM_MAILER', 'smtp' ); // php or smtp define( 'AJSM_SMTP_HOST', 'smtp.fastmail.com' ); define( 'AJSM_SMTP_PORT', 465 ); define( 'AJSM_SMTP_ENCRYPTION', 'ssl' ); // ssl, tls or none define( 'AJSM_SMTP_AUTH', true ); define( 'AJSM_SMTP_USER', 'you@fastmail.fm' ); define( 'AJSM_SMTP_PASS', 'your-app-password' ); define( 'AJSM_FROM_EMAIL', 'you@example.com' ); define( 'AJSM_FROM_NAME', 'My Site' ); define( 'AJSM_REPLY_TO', 'support@example.com' ); define( 'AJSM_ENCRYPTION_KEY', 'a-long-random-string' ); // optional
crypto_secretbox), or OpenSSL AES-256-GCM when sodium is missing.AJSM_ENCRYPTION_KEY if defined, otherwise derived from your WordPress AUTH_SALT plus a random per-site key. If you change your salts, re-enter your password.manage_options) can view or change settings.007AJ SMTP Mailer Pro is a separate add-on plugin. It adds API mailers (Gmail/Google Workspace, Microsoft 365/Outlook, SendGrid, Mailgun, Brevo, Postmark, Amazon SES, SMTP2GO, Resend), an email log (by default it saves only To, Subject, status, date, mailer and error, never the body; if you turn bodies on, reset links, download keys, tokens and one-time codes are redacted; entries are deleted after 30 days by default), a backup connection, smart routing, failure alerts, a weekly summary, WordPress notification toggles and stats. See SMTP Mailer > Lite vs Paid or the Upgrade menu item. The free plugin never expires and contains no locked code.
By default, deleting the plugin keeps your settings. To remove everything (settings, encrypted passwords, error list, wizard state and dismissed-notice flags), tick Settings > Uninstall > Delete all 007AJ SMTP Mailer settings..., save, then delete the plugin.
| Message | Fix |
|---|---|
| Rejected the username or password (535) | Use an app password; username is usually the full email address. |
| Could not reach the mail server / timed out | Your host may block the port. Try 587/TLS instead of 465/SSL or ask your host. |
| Secure connection failed | Check host name spelling and the port/encryption pair. |
| Server refused the From address | Use your login address or a verified alias and turn on Force From Email. |
| PHP mail is not working | Switch to Other SMTP. |
Privacy: the free plugin makes no outbound connections except to the SMTP server you configure, stores no email content, and has no tracking.