SMTP for WordPress
Setup, provider configuration, troubleshooting.
SMTP support and help center
This page covers installation, provider configuration, credentials, testing, delivery logs, diagnostics, security, and solutions to the most common WordPress email problems.
Make sure another SMTP plugin is not active before you begin. Two plugins modifying wp_mail() at the same time can cause conflicts, duplicate messages, or unpredictable delivery.
Before you begin
- WordPress administrator access.
- Access to your email or transactional provider.
- The From Email address you want to use.
- SMTP host, port, username and password, or API/OAuth credentials.
- Access to your domain's DNS settings for SPF, DKIM and DMARC.
- HTTPS on the website, especially for OAuth connections.
System requirements
- WordPress 5.6 or newer.
- PHP 7.0 or newer.
- A valid SMTP, API or OAuth account.
- Outbound network access to the selected mail service.
- A modern browser for the WordPress admin interface.
1. Installation and updates
New installation
- Sign in to WordPress as an administrator.
- Open Plugins → Add New Plugin.
- Click Upload Plugin.
- Select the SMTP ZIP file.
- Click Install Now, then Activate Plugin.
- Open SMTP in the WordPress menu.
Installing SMTP Pro
- Install and activate the core SMTP plugin first.
- Upload the SMTP Pro ZIP file.
- Activate SMTP Pro.
- Open SMTP → Extensions or Mailer Setup and confirm premium providers are available.
SMTP Pro extends the core plugin and cannot be used by itself.
Safe update procedure
- Back up the website files and database.
- Record the current SMTP settings.
- Use the WordPress plugin uploader to replace the existing version.
- Do not delete an active plugin directly through Plesk, FTP or File Manager.
- Activate the new version if required.
- Clear WordPress, server, CDN and browser caches.
- Send a test email and check Delivery Log and Diagnostics.
Deleting an active plugin directly from the filesystem can leave WordPress in an inconsistent state.
2. Setup Wizard
Open SMTP → Dashboard → Setup Wizard, or use the direct URL:
/wp-admin/admin.php?page=north-smtp/configuration_wizard
Wizard steps
- Choose your SMTP Mailer — select a provider.
- Configure Mailer Settings — enter the required information.
- Send Test Email — verify the connection.
- Finish — complete setup and return to the Dashboard.
"Sorry, you are not allowed to access this page"
- Confirm you are signed in as a WordPress administrator.
- Update SMTP to the latest available version.
- Deactivate and reactivate the plugin.
- Clear all caches.
- Try the direct URL shown above.
- Confirm a role/security plugin is not removing
manage_options. - Review the WordPress error log.
- Send sanitized Diagnostics to support if the issue remains.
3. Mailer Setup
Open SMTP → Mailer Setup to configure or modify the connection manually.
Connections
- Provider — the service used to send WordPress email.
- Mailer Type — SMTP is recommended.
- SMTP connection or API/OAuth authentication settings.
- Provider-specific options.
Message
- From Email / From Name.
- Force From Email / Force From Name.
- Reply-To, forced To, CC and BCC.
- Additional headers.
Do not use an unrelated Gmail or Outlook address as the From address when sending through a server that is not authorized to use that domain.
Logging
Enable the Delivery Log and set a maximum number of stored entries and transcript size. Logs may contain personal or confidential data — set a reasonable retention limit.
Advanced settings
Recommended run mode is Production. Use Log Only or No Action only for controlled testing.
4. Finding provider credentials
After selecting a provider, Mailer Setup displays a Need [provider] credentials? panel linking directly to the provider's API key, token, OAuth application or setup documentation.
Other SMTP
Ask your hosting provider, email provider or mail administrator for:
- SMTP host, e.g.
smtp.example.com - Port: 587 (TLS, recommended), 465 (SSL), 25 (often blocked)
- Username (usually full email address)
- Mailbox password or App Password
Gmail / Google Workspace
- Google Cloud project + Gmail API enabled
- OAuth consent screen
- OAuth Client ID and Client Secret
- Redirect URI must exactly match
Microsoft 365
- Application/Client ID + Client Secret
- Tenant/Directory ID
- Exact Redirect URI
- Required API permissions + admin consent
Zoho Mail & Amazon SES
Zoho: Server-Based Application, Client ID/Secret, correct region. SES: verify domain/identity, configure DKIM, correct IAM credentials and region, request production access if in sandbox.
Never include API keys in screenshots, support tickets, public posts, or email messages.
5. Fallback
Fallback provides a secondary SMTP connection used when the primary delivery method returns an error. Configure enabled status, SMTP host, port, TLS/SSL, From address and authentication.
- Use a different provider from the primary connection.
- Test the fallback before production use.
- Treat fallback as resilience, not as a substitute for fixing the primary mailer.
6. Send Test
- Enter a destination email address.
- Send the test.
- Review the result displayed by the plugin.
- Check Delivery Log.
- Check Inbox, Promotions, Updates, Spam and Junk.
Test succeeds, but not in Inbox
Check Spam/Junk, SPF, DKIM, DMARC, sender/domain verification, domain and IP reputation, message content, and suppression/bounce lists.
Test fails
Copy the exact error, review Diagnostics and Delivery Log. Change one setting at a time and retest.
7. Delivery Log
Open SMTP → Delivery Log. The table can display Subject, Sent To, Delivery Time, Status and available actions.
Delivery statuses
- Success — the provider accepted the message.
- Failed — the send attempt failed.
- In Queue — waiting for further processing.
- Fallback Success — primary failed, fallback accepted.
Available actions
- View message content and transcript.
- Resend the message.
- Delete or export records.
- Filter by date or status.
DataTables Ajax error
DataTables warning: table id=nsmtp-email-log - Ajax error
- Update SMTP.
- Clear caches and minified assets.
- Disable JS optimization in admin.
- Verify WordPress/PHP versions.
- Check the fatal error log.
- Confirm firewall isn't blocking
admin-ajax.php. - Reactivate the plugin to recreate log tables.
"Success" means the provider accepted the message — it does not guarantee Inbox placement.
8. Insights
Insights can track email opens and link clicks when enabled. Results have natural limitations: blocked images, privacy proxies, and automatic security-scanner visits can all affect accuracy.
Use Insights as an operational trend, not as definitive proof that a specific person read an email.
9. Diagnostics
Open SMTP → Diagnostics before contacting support. Review active provider, Mailer Type, run mode, logging status, WordPress/PHP versions, and conflicting SMTP plugins.
Do not publish an unredacted diagnostic report. Remove:
- Passwords, API keys, Client Secrets.
- Access and refresh tokens.
- Private email addresses when not required.
- Customer message content.
10. Common problems
"Sorry, you are not allowed to access this page"
Sign in as administrator, update SMTP, deactivate/reactivate, clear caches, temporarily disable role/security plugins, inspect the error log.
"Could not connect to SMTP host"
Check hostname, port, TLS/SSL combination, outbound port restrictions, provider-specific hostnames, firewall and DNS resolution.
"Authentication failed"
Check username format, password/App Password, API key status and permissions, OAuth access, and server clock accuracy.
OAuth "invalid grant" or redirect mismatch
Check Client ID/Secret, Redirect URI character by character, HTTPS, authorized domain, and OAuth app testing/production status.
"Sender address rejected"
Use the authenticated mailbox address or a verified sender/domain. Enable Force From Email if another plugin overrides the sender.
Messages go to Spam
Check SPF, DKIM, DMARC, domain reputation, content, attachments, and sending volume. The plugin alone cannot repair a poor domain reputation.
Duplicate emails
Check for another active SMTP plugin, double-firing hooks, fallback misinterpretation, or duplicated cron/form submissions.
No emails sent, no clear error
Check the run mode — change Log Only or No Action back to Production.
Settings are not saved
Check admin permissions, session expiry, WAF blocking API-key requests, PHP max_input_vars, and security plugin conflicts.
11. Security and privacy
Protecting credentials
- Use API keys with minimum required permissions.
- Use OAuth where supported.
- Never share passwords or tokens.
- Rotate credentials periodically, revoke unused keys.
- Use two-factor authentication for admin accounts.
Delivery Log & personal data
Logs may contain email addresses, names, subjects, message bodies, headers and technical transcripts. The website owner is responsible for retention and compliance.
Never send these to support
- SMTP password or complete API key.
- Client Secret, access or refresh token.
- Private key or unredacted sensitive content.
- Unprotected database export.
If a secret is accidentally shared, revoke it immediately and create a new one.
Recommended production configuration
- Mailer Type: SMTP · Run Mode: Production.
- From Email on a verified domain; Force From Email if needed.
- Encryption exactly as specified by the provider.
- Logging enabled with a limited number of entries.
- Fallback configured with a different provider (optional).
- SPF, DKIM and DMARC configured; HTTPS enabled.
- Other SMTP plugins deactivated.
12. Contacting support
Before opening a support request, prepare the details below so we can help you faster.
Please include
- Website URL, WordPress version, PHP version.
- SMTP plugin version and whether SMTP Pro is active.
- Selected provider, Mailer Type, exact error message.
- Steps required to reproduce the issue.
- Screenshots with all secrets removed.
- Relevant Delivery Log status and sanitized Diagnostics.
- Whether the problem started after an update or hosting change.
- Active SMTP, email, security, cache and optimization plugins.
Support request template
Subject: [Provider] Short description of the issue Website URL: WordPress version: PHP version: SMTP version: SMTP Pro version (if active): Provider: Mailer Type: Run Mode: Problem description: Steps to reproduce: 1. 2. 3. Expected result: Actual result / exact error: Does Send Test succeed: Delivery Log status: The problem started after: Additional information:
Need more help?
Visit the product page for current information, or use the template above to contact support with all the details we need.