007AJ SMTP Mailer 1.0.6: How-to guide

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.

  1. Install and first-time setup
  2. The setup wizard
  3. Other SMTP and presets
  4. Example: Fastmail
  5. From, Return-Path and Reply-To
  6. Sending a test email
  7. Tools: last 20 errors
  8. wp-config.php constants
  9. How passwords are stored
  10. 007AJ SMTP Mailer Pro
  11. Uninstall
  12. Troubleshooting

1. Install and first-time setup

  1. In WordPress go to Plugins > Add New, search for 007AJ SMTP Mailer, click Install and Activate (or upload 007aj-smtp-mailer.zip under Plugins > Add New > Upload Plugin).
  2. After activating a single plugin you are taken once to the setup wizard. If you skip it, a dismissible "Finish setting up 007AJ SMTP Mailer" notice appears on 007AJ SMTP Mailer screens and the Plugins screen only.
  3. Everything lives under the SMTP Mailer menu: Settings, Test Email, Email Log, Reports, Alerts, Tools, Documentation (this page), Lite vs Paid and Upgrade. Email Log, Reports and Alerts are previews of paid features until 007AJ SMTP Mailer Pro is active.

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.

2. The setup wizard

Open it any time from SMTP Mailer > Tools > Run the setup wizard again. Each step has an Exit setup link.

  1. Welcome: click Let's go, or skip.
  2. Choose your mailer: Default (PHP mail) or Other SMTP (recommended). Cards marked PAID belong to 007AJ SMTP Mailer Pro and cannot be selected in the free plugin; clicking one explains what Pro adds.
  3. Configure: pick a preset, enter your username and password (app password), and your From Email and From Name. Save and continue stores the settings.
  4. Features: the free features are always on. Ticking a paid feature only records your interest on this site (option ajsm_wizard_interest); nothing is sent anywhere.
  5. Test: sends a test email to the address shown (your admin email by default) and explains any failure. Fix settings goes back.
  6. Done: links to Settings and this documentation.

3. Other SMTP and presets

Go to SMTP Mailer > Settings, choose Other SMTP, then use Preset to fill the server details:

PresetHostPortEncryption
Fastmailsmtp.fastmail.com465SSL
Gmail (app password)smtp.gmail.com465SSL
Outlook.com / Hotmailsmtp-mail.outlook.com587TLS
Yahoo Mailsmtp.mail.yahoo.com465SSL
Zoho Mailsmtp.zoho.com465SSL
iCloud Mailsmtp.mail.me.com587TLS
Office 365 / GoDaddysmtp.office365.com587TLS
cPanel / hosting mailboxmail.yourdomain465SSL

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.

4. Example: Fastmail

  1. In Fastmail open Settings > Privacy & Security > App passwords (wording may vary), create a new app password with SMTP access and copy it.
  2. In 007AJ SMTP Mailer choose Other SMTP, preset Fastmail.
  3. Username: your full Fastmail login (for example you@fastmail.fm). Password: the app password.
  4. From Email: your login address or an alias/identity you have set up in Fastmail. Keep Force From Email on.
  5. Save, then send a test email.

5. From, Return-Path and Reply-To

6. Sending a test email

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.

7. Tools: last 20 errors

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.

8. wp-config.php constants

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

9. How passwords are stored

10. 007AJ SMTP Mailer Pro

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.

11. Uninstall

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.

12. Troubleshooting

MessageFix
Rejected the username or password (535)Use an app password; username is usually the full email address.
Could not reach the mail server / timed outYour host may block the port. Try 587/TLS instead of 465/SSL or ask your host.
Secure connection failedCheck host name spelling and the port/encryption pair.
Server refused the From addressUse your login address or a verified alias and turn on Force From Email.
PHP mail is not workingSwitch 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.