Linux 软件免费装
Banner图

Custom SMTP: Email Deliverability - FREE & Easy-to-use

开发者 nicolasverlhiac
更新时间 2026年6月9日 15:15
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later

标签

email smtp deliverability email logger mail logger

下载

1.7.0 2.4.0 2.3.0 2.4.1 2.2.0 2.2.1 1.6.2 1.8.0 1.7.1 1.8.1 1.9.0 2.0.0 2.1.0

详情介绍:

Add Mail SMTP settings for WordPress Looking to modify the SMTP on your WordPress site? Our Custom SMTP solution offers you this possibility, allowing you to easily change your WordPress SMTP settings, ensuring your emails consistently land in the recipient's inbox. Custom SMTP solves your email deliverability problems by reconfiguring WordPress to use a proper SMTP provider when sending emails. What's more, our intuitive settings page and comprehensive documentation will guide you through the process, making the task of modifying your SMTP settings easier than ever. Custom SMTP is a free tool, packed with all the essential features you need to send your WordPress emails with absolute confidence! Built for modern WordPress: WordPress 7.0 ready, PHPMailer 7.0.2 compatible, stateless / cloud-ready (Docker, Kubernetes), and fully translated in English and French. Amazon SES API — keyless sending with IAM roles Running WordPress on AWS (ECS Fargate, EC2, App Runner)? Custom SMTP can send through the Amazon SES API authenticated entirely by your container or instance IAM role — with no access keys, no secret keys, and no SMTP credentials stored anywhere. The plugin relies on the AWS default credential chain (the ECS task role / EC2 instance role), so your secrets never live in the database or the settings page. This is the cleanest, most secure way to send from a containerized, 12-factor WordPress: Config-as-code & Multisite (immutable deployments) For immutable Docker images, DISALLOW_FILE_MODS setups and large networks, every setting can be forced from the environment — no database writes at deploy time: Built-in Email Logging Never wonder if your emails were sent again. Custom SMTP automatically logs every email sent from your WordPress site - including WooCommerce order notifications, contact form submissions, and password resets. Preview email content directly in wp-admin, debug delivery issues with detailed error messages, and export logs for compliance. Configuration Options You can set the following options: Key Features SMTP Configuration

安装:

  1. Install Custom SMTP either via the WordPress.org plugin repository or by uploading the files to your server.
  2. Navigate to Settings > Custom SMTP in the WordPress admin.
  3. Select a provider preset (Gmail, Outlook, AWS SES, SendGrid, Mailgun, Brevo, Postmark, Mailjet, Zoho, Yahoo, iCloud) or pick "Other / Custom" and enter your SMTP details manually.
1, 2, 3: You're done! On AWS (ECS/Fargate, EC2)? Choose the Amazon SES (API · IAM role) mailer instead of SMTP to send with no stored credentials — see the SES question in the FAQ.

屏幕截图:

  • Email Logging Settings - Enable logging, set retention period, and optionally store email content for preview.
  • Email Logs - View all sent emails with status, search, and filters. Export to CSV.
  • Email Preview - Click any email to preview its content in an Outlook-style sidebar panel.

常见问题:

What SMTP settings should I use?

Custom SMTP includes presets for popular providers (Gmail, Outlook, AWS SES, SendGrid, etc.). Just select your provider and settings are auto-filled.

List of SMTP Servers

Here's a reference list of common SMTP servers: Professional Email Services

Does it work with WooCommerce?

Yes! Custom SMTP logs all emails sent from WordPress, including WooCommerce order confirmations, shipping notifications, and customer emails.

Is it compatible with contact form plugins?

Yes, it works with Contact Form 7, WPForms, Gravity Forms, and any plugin that uses WordPress wp_mail() function.

Is it compatible with stateless/containerized WordPress?

Yes. Custom SMTP is fully stateless-compatible and works on ephemeral infrastructure (Docker, Kubernetes, AWS ECS/Fargate, Google Cloud Run, etc.) without shared storage like EFS or NFS. The plugin stores all data in the WordPress database:

  • Settings in wp_options
  • Email logs in a custom database table
  • CSV exports streamed directly to the browser (no temp files)
  • Log purge scheduled via WP-Cron (database-backed)
It also works with modern WordPress stacks like Bedrock and Trellis, and can run on a read-only filesystem. Notes for stateless deployments:
  • Ensure WordPress salts (LOGGED_IN_KEY, LOGGED_IN_SALT) are consistent across all instances — the SMTP password encryption depends on them.
  • If DISABLE_WP_CRON is set to true, configure an external cron to trigger wp-cron.php so automatic log purge runs properly.
  • On AWS, prefer the Amazon SES (API) mailer with an IAM role (see the SES question below) — it removes the need to store any SMTP credentials at all.

Can I send through Amazon SES without storing any credentials?

Yes. Custom SMTP includes an Amazon SES (API) mailer that authenticates through your AWS IAM role (the ECS task role or EC2 instance role) using the AWS default credential chain. You never enter or store an access key, secret key, or SMTP credential — ideal for stateless, containerized WordPress on AWS ECS/Fargate. In Settings > Custom SMTP, choose "Amazon SES (API · IAM role)" as the mailer, set the region and a verified sender address (or inject them as environment variables), and you're done. You can also provide a SES Configuration Set for bounce/complaint tracking. The following environment variables / PHP constants take priority over the saved settings, so the same container image works across environments:

  • SES_REGION (falls back to AWS_REGION) — e.g. eu-west-3
  • SES_FROM_EMAIL — the verified sender address
  • SES_CONFIG_SET — optional SES configuration set
The message is sent as raw MIME, so HTML, attachments, CC/BCC, Reply-To and custom headers are all preserved. The mailer works whether or not the AWS SDK for PHP is installed (it falls back to a built-in signed API client), and SES sends are logged in the Email Logs like any other email. This is different from the existing Amazon SES SMTP preset, which uses SMTP credentials — the new mailer uses the SES API and your IAM role instead.

Can I configure everything from environment variables (config-as-code)?

Yes. Every setting can be forced from a PHP constant or environment variable, which takes priority over the value saved in the database — ideal for immutable Docker images and DISALLOW_FILE_MODS deployments. Use CUSTOM_SMTP_<SETTING> in uppercase, for example:

  • CUSTOM_SMTP_MAILER_TYPEsmtp or ses_api
  • CUSTOM_SMTP_HOST, CUSTOM_SMTP_PORT, CUSTOM_SMTP_SECURE, CUSTOM_SMTP_USERNAME, CUSTOM_SMTP_PASSWORD
  • CUSTOM_SMTP_MAILFROM, CUSTOM_SMTP_FROMNAME, CUSTOM_SMTP_LOG_RETENTION
The Amazon SES shortcuts also apply: SES_REGION (or AWS_REGION), SES_FROM_EMAIL, SES_CONFIG_SET. To switch an entire Multisite network to Amazon SES with no database changes, set in your container: CUSTOM_SMTP_MAILER_TYPE=ses_api, SES_REGION=eu-west-3, SES_FROM_EMAIL=no-reply@example.com. Values are resolved from PHP constants, then getenv(), $_ENV, and $_SERVER. The $_SERVER source means FrankenPHP (including worker mode) and Bedrock-style stacks work with plain environment variables — no constants required. On Multisite, the plugin also reads a network-wide option (via get_site_option) beneath any per-site option, so a single configuration can apply to all sites. Fields supplied by the environment are shown read-only in the settings page with a badge naming the source variable. (A password supplied via CUSTOM_SMTP_PASSWORD is used as-is; only stored passwords are encrypted at rest.)

Can AI assistants or automation tools manage my SMTP?

Yes, on WordPress 6.9+. Custom SMTP registers two abilities with the WordPress Abilities API:

  • custom-smtp/connection-health returns the current SMTP state (configured, host, port, encryption, auth, logging retention) — useful for diagnostics and monitoring.
  • custom-smtp/send-test-email triggers a test email through the configured SMTP server.
Both abilities are accessible to MCP-compatible AI clients, automation workflows (n8n, Make), and other plugins. They enforce the same capability check as the wp-admin interface (manage_options), so unprivileged users or scripts cannot invoke them.

更新日志:

2.4.1 Environment compatibility 2.4.0 Config-as-code: constant/env overrides for every setting + Multisite network settings Config-as-code 2.3.0 New mailer: Amazon SES API with IAM role authentication New Feature — Amazon SES (API) mailer 2.2.1 Documentation update 2.2.0 WordPress 7 compatibility release WordPress 7 Compatibility 2.1.0 Release Date - May 26, 2026 New Features 2.0.0 Release Date - February 4, 2026 Major Release - Architecture Refactor & Email Logging New Features 1.9.0 Release Date - December 5, 2025 Security 1.8.1 Release Date - December 5, 2025 Fixed 1.8.0 Release Date - December 4, 2025 Fixed 1.7 Release Date - July 5, 2024 Improved 1.6 Release Date - April 3, 2024 1.5 Release Date - March 14, 2024 1.4 Release Date - March 12, 2024