oderland-smtp-postal-mailer

plugin

1.1.2 • public • Published 17 hours ago

Send transactional emails from WordPress using SMTP or Postal with logging and delivery tracking.

deliverabilityemailmailpostalsmtp

Description

Oderland SMTP & Postal Mailer is a plugin that allows you to send transactional emails using SMTP or Postal 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.

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
  • Postal webhook integration for delivery status tracking
  • Secure credential storage with AES-256 encryption
  • Protocol-level SMTP debugging

Services Supported:

  • SMTP – Connect to any SMTP server
  • Postal – Integration with Postal mail delivery platform
  • Local – Fallback to PHP mail() function

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

Frequently Asked Questions

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 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.

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.

Is my SMTP password secure?

Yes. All sensitive credentials (SMTP passwords, API keys) are encrypted using AES-256-CBC before storage.

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).

Screenshots

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

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

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

Changelog

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

Upgrade Notice

0.1.3

Improved reliability with better failover handling and SMTP debugging capabilities.

0.1.4

Simplified account setup with consolidated from address field.

1.0.0

First stable release with security improvements and WordPress 6.9 compatibility.