Title: Oderland SMTP &amp; Postal Mailer
Author: Oderland Webbhotell AB
Published: <strong>јануари 29, 2026</strong>
Last modified: август 25, 2026

---

Search plugins

![](https://ps.w.org/oderland-smtp-postal-mailer/assets/banner-772x250.png?rev=3455917)

![](https://ps.w.org/oderland-smtp-postal-mailer/assets/icon-256x256.png?rev=3455917)

# Oderland SMTP & Postal Mailer

 By [Oderland Webbhotell AB](https://profiles.wordpress.org/oderlandab/)

[Download](https://downloads.wordpress.org/plugin/oderland-smtp-postal-mailer.1.4.5.zip)

 * [Details](https://mk.wordpress.org/plugins/oderland-smtp-postal-mailer/#description)
 * [Reviews](https://mk.wordpress.org/plugins/oderland-smtp-postal-mailer/#reviews)
 *  [Installation](https://mk.wordpress.org/plugins/oderland-smtp-postal-mailer/#installation)
 * [Development](https://mk.wordpress.org/plugins/oderland-smtp-postal-mailer/#developers)

 [Support](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/)

## Description

Oderland SMTP & Postal Mailer is a plugin that allows you to send transactional 
emails using [SMTP](https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)
or [Postal](https://docs.postalserver.io/) API. Easy-to-use for e-mail logging and
making sure your e-mails make it all the way to your intended target.

The plugin works with any SMTP mailer you’re using, including but not limited to
[Oderland Postal](https://www.oderland.se/postal).

**What is SMTP and why do you need it?**

SMTP (Simple Mail Transfer Protocol) is the standard that ensures that emails actually
arrive at their destination. It’s a protocol that delivers your email between servers
when you click “send” in your email client.

You could say that with an SMTP plugin or service, you want to confirm to the email
servers that what you’re sending isn’t spam, which lends authenticity to your mailings.

**Features:**

 * Send transactional emails via SMTP, Postal API or PHP mail()
 * Multiple mail account support with priority-based failover
 * Automatic retry on temporary failures with exponential backoff
 * Comprehensive email logging with configurable retention
 * Statistics dashboard — email volume over time, delivery success rates, per-account
   breakdown, failure analysis, recipient domain insights, and send time patterns
 * CSV export of all dashboard statistics
 * WordPress admin dashboard widget with 7-day email summary
 * Engagement tracking (opens, clicks) for Postal accounts
 * Postal webhook integration for delivery status tracking
 * Per-account webhook debug logging for Postal accounts
 * Secure credential storage with AES-256 encryption
 * Protocol-level SMTP debugging

**Services Supported:**

 * **SMTP** – Connect to any SMTP server
 * **[Postal](https://docs.postalserver.io/)** – Integration with Postal mail delivery
   platform
 * **Local** – Fallback to PHP mail() function

## Screenshots

[⌊Accounts management - Configure multiple mail accounts with priority⌉⌊Accounts
management - Configure multiple mail accounts with priority⌉[

Accounts management – Configure multiple mail accounts with priority

[⌊Email logs - View sent emails with delivery status⌉⌊Email logs - View sent emails
with delivery status⌉[

Email logs – View sent emails with delivery status

[⌊Log details - Inspect individual email details and events⌉⌊Log details - Inspect
individual email details and events⌉[

Log details – Inspect individual email details and events

[⌊Settings - Configure logging and failover behavior⌉⌊Settings - Configure logging
and failover behavior⌉[

Settings – Configure logging and failover behavior

[⌊Test email - Send test emails to verify configuration⌉⌊Test email - Send test 
emails to verify configuration⌉[

Test email – Send test emails to verify configuration

[⌊Postal settings - Setting up a Postal account⌉⌊Postal settings - Setting up a 
Postal account⌉[

Postal settings – Setting up a Postal account

[⌊Dashboard - Email statistics with volume chart, account breakdown, and failure
analysis⌉⌊Dashboard - Email statistics with volume chart, account breakdown, and
failure analysis⌉[

Dashboard – Email statistics with volume chart, account breakdown, and failure analysis

[⌊Dashboard analytics - Failover usage, service type comparison, recipient domains,
and send time patterns⌉⌊Dashboard analytics - Failover usage, service type comparison,
recipient domains, and send time patterns⌉[

Dashboard analytics – Failover usage, service type comparison, recipient domains,
and send time patterns

## Installation

 1. Upload the `oderland-smtp-postal-mailer` folder to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Go to Settings > Oderland SMTP & Postal Mailer to configure your mail accounts
 4. Add at least one mail account (SMTP or Postal)
 5. Send a test email to verify your configuration

## FAQ

### How do I configure SMTP?

Go to Settings > Oderland SMTP & Postal Mailer > Accounts and click “Add Account”.
Select SMTP as the service type and enter your SMTP server details including host,
port, username, and password.

### How does the failover work?

Accounts are tried in priority order (lower number = higher priority). If sending
fails with a temporary error, the plugin retries with exponential backoff. If all
retries fail, it moves to the next account.

### What gets logged?

By default, the plugin logs email headers, recipients, and subjects. You can optionally
enable body logging. Logs are automatically removed after 30 days (configurable).

### How do I set up Postal webhooks?

When you create a Postal account, the plugin generates a webhook URL. Add this URL
in your Postal server’s webhook settings to receive delivery status updates.

### Is my SMTP password secure?

Yes. All sensitive credentials (SMTP passwords, API keys) are encrypted using AES-
256-GCM. The encryption key is derived from your WordPress auth constants in wp-
config.php, so it is never stored in the database.

## Reviews

![](https://secure.gravatar.com/avatar/9c246c4aca2181a322bdb89d0c15ccaaabd83572fc67d8cdb5bf037639693f41?
s=60&d=retro&r=g)

### 󠀁[Ersättare för WP Mail SMTP Pro](https://wordpress.org/support/topic/ersattare-for-wp-mail-smtp-pro/)󠁿

 [interaktivMedia](https://profiles.wordpress.org/interaktivmedia/) март 2, 2026
1 reply

Högklassig plugin från ett högklassigt företag!Har samma features som WP Mail SMTP
Pro men är gratis utan reklam.

 [ Read all 1 review ](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/)

## Contributors & Developers

“Oderland SMTP & Postal Mailer” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Oderland Webbhotell AB ](https://profiles.wordpress.org/oderlandab/)

“Oderland SMTP & Postal Mailer” has been translated into 1 locale. Thank you to 
[the translators](https://translate.wordpress.org/projects/wp-plugins/oderland-smtp-postal-mailer/contributors)
for their contributions.

[Translate “Oderland SMTP & Postal Mailer” into your language.](https://translate.wordpress.org/projects/wp-plugins/oderland-smtp-postal-mailer)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/oderland-smtp-postal-mailer/),
check out the [SVN repository](https://plugins.svn.wordpress.org/oderland-smtp-postal-mailer/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/oderland-smtp-postal-mailer/)
by [RSS](https://plugins.trac.wordpress.org/log/oderland-smtp-postal-mailer/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.5

 * Tested and confirmed compatible with WordPress 7.1
 * Raised the minimum required WordPress version to 6.4. The plugin calls wp_admin_notice(),
   which was added in WordPress 6.4, so earlier versions could fail on some admin
   screens
 * Fixed Postal webhooks being rejected, which left delivery status, bounces and
   DNS warnings not updating
 * Fixed the Log Details page being cut short. An unclosed iframe around the email
   body made browsers treat the rest of the page as iframe content, which dropped
   the admin footer and every script loaded there, leaving the delivery event accordion
   unable to expand
 * Fixed a doubled percent sign in the dashboard failover summary, which read “6.3%%”
   instead of “6.3%”
 * Fixed delivery events from one Postal account being applied to mail sent through
   a different account. Only affected sites running more than one Postal account;
   the webhook now only accepts events for mail belonging to the account it authenticated
   as
 * Admin notices are no longer shown to, or cleared by, other logged-in users. Each
   administrator now sees only the notices raised by their own actions
 * The logged email body is now shown in a sandboxed frame with scripts and forms
   disabled
 * Account names are now sanitised the same way whether an account is created or
   edited, and accounts can no longer be saved with an unrecognised service type
 * The stored SMTP password is never written back into the settings form; leave 
   the field blank to keep the current password
 * The Postal webhook key can no longer be viewed or typed in. Use the generate 
   button on the account form to create or rotate one, then save the account before
   configuring the webhook URL in Postal
 * Updated bundled dependencies (Guzzle HTTP client and related libraries) to their
   latest patch/minor releases

#### 1.4.4

 * Fixed a fatal error when running WP-CLI commands on Bedrock (Roots) installations
   caused by loading the vendor autoloader via a relative path; the plugin now uses
   its absolute path
 * Updated bundled dependencies (Guzzle HTTP client and related libraries) to their
   latest patch/minor releases

#### 1.4.3

 * Tested with WordPress 7.0
 * Fixed admin checkboxes showing the new WordPress 7.0 blue background when checked
   instead of the plugin’s brand colors

#### 1.4.2

 * Fixed creating a Postal account on first page load failing with browser validation
   errors for hidden SMTP fields
 * Fixed accessibility issues on the Add/Edit Account form (duplicate field IDs 
   and mismatched labels)
 * Reduced the chance that browsers offer to autofill SMTP and Postal API credentials
   on the Account form
 * Creating a new account now returns to the Accounts list instead of the Dashboard

#### 1.4.1

 * Fixed fatal TypeError in automatic log cleanup when deleting old mail entries

#### 1.4.0

 * Added bounce export feature: download bounced/failed email addresses as CSV or
   JSON from the Logs page
 * Show delivery failures (MessageDeliveryFailed) in Account Breakdown, Service 
   Comparison, Domain Insights tables, charts, and CSV export on the Dashboard
 * Added explanatory note on Dashboard distinguishing Sent/Failed from Bounced/Delivery
   Failed
 * Fixed Domain Insights not showing bounced/delivery failed counts for Postal webhook
   events
 * Fixed sorting by Service or Status columns on the Logs page causing a database
   error
 * Added sorting by Recipient column on the Logs page
 * Code quality: resolved all PHPStan level 8 errors and all PHPCS coding standard
   violations

#### 1.3.3

 * Fixed emails with Swedish characters (å ä ö) showing scrambled MIME headers instead
   of rendered HTML
 * Filter out Content-Type, Content-Transfer-Encoding, and MIME-Version headers 
   that conflict with transport layer
 * Respect Content-Type: text/plain header to force plain text emails
 * Fixed bulk delete action label mismatch in log table

#### 1.3.2

 * Fixed SMTP mailer not honoring Reply-To headers passed by wp_mail() (e.g. from
   form plugins)
 * Fixed SMTP mailer not forwarding custom headers (X-Mailer, X-Priority, etc.)
 * Fixed CC and BCC headers from wp_mail() not being handled as proper recipients
 * Fixed From header from wp_mail() not being parsed into structured sender field
 * SMTP Reply-To now uses same priority as Postal: wp_mail header first, account
   config fallback
 * wp_mail() headers (CC, BCC, Reply-To, From) are now parsed like WordPress core
   does

#### 1.3.1

 * Security: SMTP credentials (password) are now encrypted at rest using AES-256-
   GCM
 * Security: Encryption key is now derived from WordPress auth constants (AUTH_KEY/
   SECURE_AUTH_KEY) instead of being stored in the database
 * Security: Added input sanitization for SMTP service data fields (hostname, port,
   username, secure protocol)
 * Security: Added SQL alias allowlist validation in statistics queries
 * Security: Added direct file access guards to remaining PHP files
 * Existing credentials are automatically re-encrypted during upgrade

#### 1.3.0

 * Added DNS warning system for Postal accounts — automatically displays warnings
   when Postal detects DNS issues (SPF, DKIM, MX, Return Path) for your sending 
   domain
 * Added DNS warnings to the edit-account page, accounts list, and WordPress dashboard
   widget with dismiss buttons
 * Added “DNS warnings” setting under Settings > Postal Webhooks (enabled by default)
 * Added per-account webhook debug logging for Postal accounts — toggle on the edit-
   account page to log the last 10 incoming webhooks (successful, failed auth, errors,
   and filtered DNS events)
 * Added “Clear debug log” button to reset entries per account
 * Added cleanup of webhook debug log and DNS error data on plugin uninstall
 * Fixed “From address” required indicator missing on initial page load
 * Fixed accordion payload row spacing in log details and webhook debug
 * Fixed settings page “Log timing metrics” description alignment
 * Removed deprecated load_plugin_textdomain() call

#### 1.2.0

 * Added statistics dashboard with summary cards, time-series chart, and account
   breakdown
 * Added delivery insights with failure analysis, failover monitoring, and service
   comparison
 * Added recipient domain insights and top recipients table
 * Added engagement tracking (open rate, click rate) for Postal accounts
 * Added send time pattern charts (hour of day, day of week)
 * Added CSV export for all dashboard statistics
 * Added WordPress admin dashboard widget with 7-day email summary
 * Added REST API endpoint for aggregated statistics with transient caching
 * Fixed test email template not showing red header background in Outlook
 * Improved Swedish translations throughout dashboard
 * Security: Improved input validation for database queries
 * Security: Added output escaping throughout admin tables
 * Security: Hardened email header processing
 * Security: Added authentication to REST endpoints
 * Security: Upgraded encryption to AES-256-GCM with backward compatibility
 * Security: Moved sensitive storage to wp_options

#### 1.1.2

 * Updated brand colors to match Oderland guidelines
 * Made Oderland logo in header clickable, linking to oderland.se/postal
 * Fixed SQL injection vulnerability and wpdb::prepare errors in account search
 * Implemented log search functionality (search by subject, account, service, recipient)
 * Fixed plugin action links (Settings, Accounts, Logs) not showing on plugins page
 * Made account and log table rows clickable to navigate to edit/details page
 * Styled input placeholders to be visibly greyed out
 * Fixed Swedish translations and made Save Settings translatable
 * Changed enable/disable icons to play/pause in account table
 * Fixed Postal account form: mark webhook key as required and hide non-selected
   service form
 * Fixed JavaScript text domain mismatch preventing datetime translations
 * Regenerated .pot file to include JavaScript translatable strings

#### 1.1.1

 * Fixed missing vendor directory in distribution causing plugin activation failure

#### 1.1.0

 * Renamed plugin to “Oderland SMTP & Postal Mailer” for WordPress.org submission
 * Added migration for existing users from old plugin name
 * Fixed input sanitization issues
 * Moved inline scripts to external JavaScript file
 * Moved inline styles to CSS file

#### 1.0.0

 * First stable release
 * Added direct file access protection to all PHP files
 * Added settings sanitization for improved security
 * Removed deprecated load_plugin_textdomain call
 * Updated WordPress compatibility to 6.9

#### 0.1.4

 * Consolidated from address fields – removed duplicate address field from Postal
   service form
 * From address now required and validated for SMTP and Postal services
 * Added client-side and server-side validation for from address

#### 0.1.3

 * Added protocol-level SMTP logging with timing metrics
 * Implemented improved failover logic with retry support
 * Lowered WordPress requirement from 6.3 to 5.7

#### 0.1.2

 * Major overhaul of the plugin

#### 0.1.0

 * Initial release

## Meta

 *  Version **1.4.5**
 *  Last updated **2 недели ago**
 *  Active installations **100+**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.1 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/oderland-smtp-postal-mailer/) и 
   [Swedish](https://sv.wordpress.org/plugins/oderland-smtp-postal-mailer/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/oderland-smtp-postal-mailer)
 * Tags
 * [deliverability](https://mk.wordpress.org/plugins/tags/deliverability/)[email](https://mk.wordpress.org/plugins/tags/email/)
   [mail](https://mk.wordpress.org/plugins/tags/mail/)[postal](https://mk.wordpress.org/plugins/tags/postal/)
   [smtp](https://mk.wordpress.org/plugins/tags/smtp/)
 *  [Advanced View](https://mk.wordpress.org/plugins/oderland-smtp-postal-mailer/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/reviews/)

## Contributors

 *   [ Oderland Webbhotell AB ](https://profiles.wordpress.org/oderlandab/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/oderland-smtp-postal-mailer/)