plugin-icon

API Mailer for AWS SES

投稿者: christian198521·
Amazon SES API mailer for WordPress that bypasses SMTP and sends via the SES SendRawEmail API with a lightweight, high‑performance design.
バージョン
1.1
最終更新日時
Dec 29, 2025

API Mailer for AWS SES replaces wp_mail() with a direct Amazon SES API integration (SendRawEmail). There is no SMTP layer or PHPMailer handoff in the critical path, reducing overhead and improving reliability.

The plugin focuses on correctness, performance, and operational clarity: – Direct AWS SigV4 signed requests to SES – Minimal overhead in the wp_mail() hook – Optional background queue with Action Scheduler or wp_cron fallback – Explicit logging with a production-safe disable switch – Clean, PSR-4 structured codebase

Key Features

  1. Direct SES API (SendRawEmail) integration — no SMTP required.
  2. Background sending queue with Action Scheduler or wp_cron fallback.
  3. Tiny-args queueing with job IDs to keep cron payloads small and private.
  4. Configurable rate limiting per second to stay under SES send rate.
  5. From/Reply-To handling with optional forced From and custom X-* headers.
  6. Test tab to send a test email and a Status tab to fetch SES GetSendQuota.
  7. Log viewer with success/failure entries and optional production disable.
  8. Credentials from wp-config (constants) or saved settings.
  9. Lightweight, minimal I/O, no Composer dependency.
  10. Uninstall cleanup toggle to remove settings and logs on deletion.

Why It’s High Performance

  • Avoids SMTP/PHPMailer for the send path; uses compact MIME and SES API directly.
  • Background queue returns control to the request immediately when enabled.
  • Job payloads are stored server-side and referenced by a small job_id to avoid large serialized cron arguments.
  • Logging is optional and trimmed automatically to keep I/O low.

Configuration

Credentials in wp-config (recommended)

Define the following constants above “That’s all, stop editing!” in wp-config.php, then enable “Read AWS credentials from wp-config” in the plugin settings.

define(‘SES_MAILER_ACCESS_KEY’, ‘YOUR_ACCESS_KEY_ID’); define(‘SES_MAILER_SECRET_KEY’, ‘YOUR_SECRET_ACCESS_KEY’); define(‘SES_MAILER_REGION’, ‘us-east-1’);

When this mode is enabled, the Access Key, Secret, and Region fields are cleared, disabled, and ignored.

Background Sending

  • When enabled, emails are queued and sent out of band by Action Scheduler if available, or by wp_cron as a fallback.
  • The plugin stores the full email payload in an option keyed by ses_mailer_job_{uuid} (autoload = no) and schedules a tiny cron/action with only job_id.
  • Retries: up to 3 total attempts with exponential backoff (60s, then 120s).
  • For consistent cron execution on low-traffic sites, configure a real system cron to call wp-cron.php regularly.

Rate Limiting

  • A per-email pause is applied based on the configured send rate to avoid exceeding SES limits.

Logging

  • Success and failure entries are written to wp-content/ses-mailer-logs/email-log.txt.
  • Use the Logs tab to view or clear logs.
  • Enable “Disable logging in production” to avoid writing new entries.

External Services

  • This plugin connects to Amazon Simple Email Service (AWS SES) at https://email.{region}.amazonaws.com to send email and to fetch sending quotas.
  • Data sent on each email: recipients, subject, message body, headers, attachments, and your AWS access key ID (signed via AWS SigV4); required to deliver the email.
  • Data sent when checking quotas: your AWS access key ID and a signed request; no recipient data is sent.
  • Service terms: https://aws.amazon.com/service-terms/ — Privacy: https://aws.amazon.com/privacy/

Translations

  • Text domain: api-mailer-for-aws-ses
  • Translation template: languages/api-mailer-for-aws-ses.pot
  • Example: Danish languages/api-mailer-for-aws-ses-da_DK.po (compile to .mo for runtime)
無料Business プランを利用中
インストールすることで、WordPress.com の利用規約サードパーティプラグイン利用規約に同意したことになります。
最大テスト回数
WordPress 6.8.3
このプラグインをダウンロードして、 サイトに使用できます。