SMTP & Email Logs for WooCommerce

SMTP & Email Logs for WooCommerce connects your store to authenticated email providers so WooCommerce transactional emails are sent through a trusted mailer instead of the default WordPress mail function.

The extension also keeps a centralized record of every outgoing email, making it easier to confirm delivery, troubleshoot failures, and resend messages when needed. For additional reliability, you can create multiple named connections and set one as the primary connection with optional fallbacks.

Features

↑ Back to top
  • Support for Brevo, Gmail / Google Workspace, Microsoft 365 / Outlook, Mailgun, SendGrid, Postmark, Maileroo, and Other SMTP providers
  • Multiple named SMTP connections with independent credentials and sender settings
  • Support for configuring the same mailer provider more than once
  • One Primary connection and up to multiple active fallback connections
  • Unlimited saved connections, with additional connections kept Inactive
  • Automatic fallback delivery in priority order
  • Drag-and-drop connection reordering
  • Turn individual connections on or off without deleting their settings
  • Per-connection test emails and connection health visibility
  • Detailed email logs with connection names, roles, attempts, timestamps, and errors
  • Resend, search, filter, export, and delete actions for email logs

Getting started

↑ Back to top

What is SMTP?

↑ Back to top

Simple Mail Transfer Protocol (SMTP) is the standard protocol used to send email. Using an authenticated mailer instead of the default PHP mail function generally improves delivery reliability and reduces the risk of messages being rejected or marked as spam.

What is fallback delivery?

↑ Back to top

Fallback delivery adds another layer of reliability. The plugin first sends through the Primary connection. If that attempt fails under one of the configured failure conditions, it automatically tries each enabled fallback connection in order until the message is delivered or every active connection has failed.

Connection roles

↑ Back to top

Each enabled connection has one role in the delivery chain:

  • Primary — the first connection used for every outgoing email.
  • Fallback #1 — used when the Primary connection cannot deliver the email.
  • Fallback #2 — used when the Primary and Fallback #1 attempts fail.
  • Fallback #3 — used when the Primary, Fallback #1, and Fallback #2 attempts fail.
  • Inactive — a saved connection that is not currently used for delivery.

Installation

↑ Back to top

To install SMTP & Email Logs for WooCommerce from your WooCommerce.com account:

  • Go to My subscriptions.
  • Find SMTP & Email Logs for WooCommerce and select Add to store.
  • Follow the on-screen instructions to connect your store and complete the installation.

For alternative installation methods, see Managing WooCommerce.com subscriptions and Adding a WooCommerce.com subscription to your store.

Installation

Manage SMTP connections

↑ Back to top

Open the Connections screen.

↑ Back to top

From your store’s WP Admin dashboard, go to WooCommerce > Settings > SMTP > Connections.

The SMTP Connections screen shows all saved connections in delivery order. Enabled connections appear first as Primary, Fallback #1, Fallback #2, and Fallback #3. Disabled connections remain saved as Inactive.

Manage SMTP connections Connections screen

Connection card information

↑ Back to top

Each connection card displays:

  • Connection Name
  • Mailer provider
  • Current role
  • Connection health and recent sending activity
  • Turn toggle on or off
  • Edit action
  • Delete action

Add a New or Existing connection

↑ Back to top

To create a new mailer connection:

  • Select Add Connection.
  • Choose a mailer provider from the available options. Providers that are already configured remain available so that you can create another connection using separate credentials.
  • Enter a unique Connection Name, such as “Brevo Production” or “Other SMTP Backup.”
  • Complete the provider credentials and sender settings.
  • Enable the connection and assign its role, or leave it Inactive for later use.
  • Send a test email, then click Save Changes.

You have selected the same mailer provider for fallback delivery. A separate connection will be created using the same provider type with independent credentials and settings.

Add a New or Existing connection

Connection settings

↑ Back to top

The fields shown depend on the selected mailer provider. A connection can include:

  • Connection Name — required, 1–60 characters, and unique for that mailer provider
  • Enable Connection
  • Assigned Role
  • From Email
  • From Name
  • Provider-specific credentials, such as SMTP host, port, username, password, API key, OAuth client ID, or OAuth client secret

A connection with this name already exists for this mailer provider. Enter a different Connection Name before saving.

Connection settings

Select & Configure each mailer provider.

↑ Back to top

The steps below explain how to obtain credentials for each supported provider and add them to a named connection. Start from WooCommerce > Settings > SMTP > Connections, select Add Connection, choose the provider, and enter a unique Connection Name. After completing the provider settings, send a test email and save the connection. You can then enable it and place it in the Primary or fallback chain.

Select and configure a mailer provider

Other SMTP providers

↑ Back to top

Use Other SMTP when your email service is not listed or when your provider gives you standard SMTP credentials.

Get the SMTP details from your email provider:

  • SMTP Host
  • SMTP Port
  • Encryption type, such as TLS or SSL
  • SMTP Username
  • SMTP Password
  • Sender email address

In the plugin:

  1. Select Add Connection, then choose Other SMTP.
  2. Enter a unique Connection Name.
  3. Enter the From Name and From Email.
  4. Enter the SMTP Host, Port, Encryption, Username, and Password supplied by your provider.
  5. Enable SMTP authentication when your provider requires it.
  6. Send a test email. When the test succeeds, select Save Connection.
Other SMTP providers

Brevo (formerly Sendinblue)

↑ Back to top

Brevo uses an API key to authenticate the connection.

Create a Brevo API key:

  1. Sign in to your Brevo account.
  2. Open Settings > SMTP & API > API Keys & MCP.
  3. Select Generate a new API key.
  4. Name the key, generate it, and copy it immediately. Brevo displays the full key only when it is created.

Add Brevo to the plugin:

  1. Select Add Connection, then choose Brevo.
  2. Enter a unique Connection Name.
  3. Enter the API Key and From Email.
  4. Send a test email, then select Save Connection.

Make sure the sender address is authorized in Brevo before using the connection for live emails.

Brevo configuration

Gmail / Google Workspace

↑ Back to top

Gmail and Google Workspace use OAuth credentials instead of a normal mailbox password.

Create Google OAuth credentials:

  1. Open Google Cloud Console and create a project or select an existing project.
  2. Go to APIs & Services > Library, find Gmail API, and enable it.
  3. Configure the OAuth consent screen when prompted.
  4. Go to APIs & Services > Credentials and create an OAuth Client ID.
  5. Choose Web application as the application type.
  6. Copy the Redirect URL displayed by the plugin and add it under Authorized redirect URIs.
  7. Create the credentials and copy the Client ID and Client Secret.

Add Gmail to the plugin:

  1. Select Add Connection, then choose Gmail / Google Workspace.
  2. Enter a unique Connection Name.
  3. Enter the From Name, From Email, Client ID, and Client Secret.
  4. Complete the Google authorization step shown by the plugin and grant the requested permission.
  5. Send a test email, then select Save Connection.

Use the authorized Google account address or an allowed sending alias as the From Email.

Gmail / Google Workspace configuration

Microsoft 365 / Outlook

↑ Back to top

Microsoft 365 and Outlook connections use OAuth credentials created in Microsoft Entra ID.

Create Microsoft OAuth credentials:

  1. Open the Microsoft Azure portal and go to Microsoft Entra ID.
  2. Select App registrations, then select New registration.
  3. Enter an application name and complete the registration.
  4. Add a Web redirect URI using the Redirect URL displayed by the plugin.
  5. Copy the Application (client) ID.
  6. Open Certificates & secrets and create a new client secret.
  7. Copy the client secret Value when it is displayed.

Add Microsoft 365 / Outlook to the plugin:

  1. Select Add Connection, then choose Microsoft 365 / Outlook.
  2. Enter a unique Connection Name.
  3. Enter the From Name, From Email, Client ID, and Client Secret Value.
  4. Complete the Microsoft authorization step shown by the plugin.
  5. Send a test email, then select Save Connection.

Copy the client secret Value, not its Secret ID.

Microsoft 365 / Outlook configuration

Mailgun

↑ Back to top

Mailgun requires a private API key and a verified sending domain.

Prepare the Mailgun account:

  1. Sign in to Mailgun and open Settings > API Keys.
  2. Copy the Private API Key.
  3. Go to Sending > Domains and select the domain you will use.
  4. Complete Mailgun’s DNS verification for the domain before sending live emails.

Add Mailgun to the plugin:

  1. Select Add Connection, then choose Mailgun.
  2. Enter a unique Connection Name.
  3. Enter the From Name, From Email, Domain, Region, and API Key.
  4. Choose the region that matches the Mailgun account and sending domain.
  5. Send a test email, then select Save Connection.
Mailgun configuration

Postmark

↑ Back to top

Postmark authenticates the connection with a Server API Token and can route mail through a selected Message Stream.

Get the Postmark credentials:

  1. Sign in to Postmark and open Servers.
  2. Select the server used for WooCommerce emails.
  3. Open API Tokens and copy the Server API Token.
  4. Open Message Streams and identify the transactional stream you want to use.

Add Postmark to the plugin:

  1. Select Add Connection, then choose Postmark.
  2. Enter a unique Connection Name.
  3. Enter the From Name, From Email, Server API Token, and Message Stream.
  4. Send a test email, then select Save Connection.

The From Email must use a sender signature or domain verified in Postmark.

Postmark configuration

SendGrid

↑ Back to top

SendGrid uses an API key with permission to send email.

Create a SendGrid API key:

  1. Sign in to SendGrid and go to Settings > API Keys.
  2. Select Create API Key.
  3. Give the key permission to send email, then create and copy it.

Add SendGrid to the plugin:

  1. Select Add Connection, then choose SendGrid.
  2. Enter a unique Connection Name.
  3. Enter the From Name, From Email, and API Key.
  4. Send a test email, then select Save Connection.

The From Email must belong to a verified Sender Identity or authenticated domain in SendGrid.

SendGrid configuration

Maileroo

↑ Back to top

Maileroo provides API-based email delivery.

Create a Maileroo API key:

  1. Sign in to Maileroo.
  2. Open Settings > API Keys.
  3. Generate a new API key and copy it.

Add Maileroo to the plugin:

  1. Select Add Connection, then choose Maileroo.
  2. Enter a unique Connection Name.
  3. Enter the From Name, From Email, and API Key.
  4. Send a test email, then select Save Connection.

Confirm that the sender or sending domain is verified in Maileroo.

Maileroo configuration

Test an individual connection.

↑ Back to top

Use Send a Test Email on a connection’s settings screen to verify that connection before relying on it for live store emails. The test uses the credentials currently entered in that form, including unsaved changes, and does not switch to another connection.

  • Enter the recipient email address.
  • Select Send Test Email.
  • Review the success or failure message displayed below the test form.

Test email sent successfully.

Failed to send. Check the connection credentials and try again.

Test an individual connection

Assign connection roles

↑ Back to top

Only one enabled connection can occupy each active role. Assign roles to connections rather than to provider types, so two connections using the same provider can be placed in different positions in the chain.

When you assign an occupied role to another connection, the remaining enabled connections are reordered to keep a continuous Primary-to-Fallback sequence. The updated order applies to subsequent email deliveries.

Assign connection roles

Turn a connection on or off.

↑ Back to top

Turn a connection ON to make it available for email delivery. When a role is available, the connection is placed in the next open fallback position. When all four active roles are occupied, additional saved connections remain Inactive until a role becomes available or you manually reorganize the chain. The turn OFF connection would be displayed as the INACTIVE in the connection table.

Turn a connection on or off

Reorder connections

↑ Back to top

Drag and drop enabled connections on the Connections screen to change delivery priority. After reordering:

  • The first enabled connection becomes Primary.
  • The second becomes Fallback #1.
  • The third becomes Fallback #2.
  • The fourth becomes Fallback #3.

The updated priority takes effect immediately for new outgoing emails. A delivery already in progress continues with the order that was active when it started.

Reorder connections

Delete a connection

↑ Back to top

Select the delete action on a connection card, then confirm the deletion. The remaining enabled connections are reordered automatically.

Delete a connection

Configure fallback settings

↑ Back to top

Fallback Settings are available in the Primary connection settings. These options control how the plugin responds when delivery through the Primary connection fails.

You can configure:

  • Fallback Delivery — turn on or off automatic use of fallback connections
  • Retry Count — the number of retries allowed before moving to the next connection
  • Retry Delay — the waiting period between retry attempts
  • Failure Conditions — the errors that trigger fallback delivery, such as connection timeouts, authentication errors, or provider rejection responses
Configure fallback settings

How fallback delivery works

↑ Back to top

For every outgoing email, the plugin follows this sequence:

  • Attempt 1: Send through the Primary connection.
  • If the Primary succeeds, mark the email Successful, record one attempt, and stop.
  • If the Primary fails and the failure matches the configured fallback conditions, try Fallback #1.
  • If Fallback #1 fails, try Fallback #2.
  • If Fallback #2 fails, try Fallback #3.
  • If any fallback succeeds, mark the email Successful and record the connection that delivered it.
  • If every enabled connection fails, mark the email Failed, stop delivery, and keep the message available for resend.

Disabled and Inactive connections are skipped. Every attempted connection is recorded, whether the attempt succeeds or fails.

Email logs

↑ Back to top

The plugin automatically logs WooCommerce emails and their delivery attempts. Logs provide a clear record of which named connection was used, whether fallback delivery was needed, and where a failure occurred.

View email logs

↑ Back to top

From your store’s WP Admin dashboard, go to WooCommerce > Settings > SMTP > Email Logs.

Use the status filter and search field to find messages by subject, recipient, or Connection Name. You can also export logs to CSV or delete logs you no longer need.

View email logs

Information recorded in each log

↑ Back to top
  • Email subject
  • Recipient email address
  • Final delivery status
  • Connection Name used for successful delivery
  • Mailer provider
  • Role at the time of the attempt
  • Total number of attempts
  • Timestamp
  • Error message for failed attempts
  • Actions to view, resend, export, or delete the email

View fallback history

↑ Back to top

Open an email log to view the complete delivery history. When more than one connection was attempted, the Fallback History section lists each attempt in order, including:

  • Attempt number
  • Connection Name
  • Mailer provider
  • Role
  • Successful or Failed result
  • Error message, when applicable
  • Timestamp
View fallback history

View logs on an order

↑ Back to top

You can also review the emails associated with an individual order. Go to WooCommerce > Orders, open the order, and view the SMTP & Logs section to see the related delivery records.

View logs on an order

Resend emails

↑ Back to top

If an email remains Failed after all enabled connections have been attempted, you can resend it from the Email Logs screen.

How to resend an email

↑ Back to top
  • Go to WooCommerce > Settings > SMTP > Email Logs.
  • Find the email marked Failed.
  • Select Resend in the Actions column or from the Email Log detail panel.
  • The plugin starts a new delivery attempt using the currently active Primary and fallback order.
  • Open the updated log to review the new result and attempt history.
Resend emails

Was this guide helpful for you?

Related Products

Offer add-ons like gift wrapping, special messages or other special options for your products.

WooCommerce Subscriptions is a WooCommerce extension that lets customers subscribe to your products or services and pay on a weekly,...

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.