WordPressの通知メールをSMTP経由で送信する(WP Mail SMTP / Gmail / Amazon SES)
WordPress に移行してテンプレートを自作したのですがコメント欄の設置がまだでした。ようやく昨日コメントフォームも設置して、そこでふと通知メールが来ないことに気づきました。普通に WordPress を VPS に設置するとメールは VPS から送信できるので何も気にする必要もないのですが、今回の環境は Docker なのでメールサーバーもコンテナにするか、ホスト側の Postfix を利用するかしないといけませんでした。。
ただ、それよりも手っ取り早く外部の SMTP サーバー経由(Gmail や Amazon SES など)で送信できないかなと思って調べると WP Mail SMTP というプラグインが見つかったので、こちらを利用することにしました。
このプラグインをインストールして有効化すると、管理画面の「設定」メニューの中に「メール」という項目が追加されますので、その設定ページから SMTP サーバーやポート番号、認証などの設定をおこないます。
今回は Gmail と Amazon SES の両方を試してみたのでその設定についてまとめました。
Gmail の SMTP サーバーを利用する場合
Gmail を利用していることが前提となります。『WordPressのメールが送信できないので、SMTPサーバの設定を外部サーバに変更する。』の内容を参考に設定しました。
メーラー | WordPressの全てのメールをSMTP経由で送信する。 |
---|---|
SMTP Host | smtp.gmail.com |
SMTP Port | 465 |
Encryption | SSLを使用する。 |
Authentication | はい: SMTP認証を使用します。 |
Username | 使用している Gmail のメールアドレスを入力 |
Password | Gmail のパスワード。但し二段階認証を使用している場合は「アプリ パスワード」で発行したパスワードを使用。 |
これらの設定をするだけなので比較的簡単です。パスワードについては二段階認証を使っていなければ直接 Gmail のパスワードを設定すればいいですが、メールサービスなど大事なサービスではなるべく二段階認証を使いましょう。
Amazon SES の SMTP サーバーを利用する場合
Amazon Web Services を利用していることが前提となります。あと最初は24時間に200通という送信制限があります。個人ブログとかだとそんなにコメントなど来ないと思いますが、それでは足りないという場合は「Amazon SES サンドボックスの外への移動 – Amazon Simple Email Service」を参考に申請してみてください。
上記については割愛しつつ、Amazon SES の SMTP サーバーを利用するための準備として、
- 送信元/送信先のメールアドレスを Amazon SES 側に登録して検証しておくこと
- SMTP 認証用の Credentials を発行しておくこと
が必要となります。
メールアドレスの検証
↑ 「Email Addresses」というメニューをクリックして「Verify a New Email Address」をクリックし、メールアドレスを入力します。
登録されると確認メールが送信されてくるので、そのメール内にある確認用の URL をクリックすれば OK です。送信元のメールアドレス、送信先のメールアドレスの両方について実施しておきます。
SMTP 認証用の Credentials を発行
↑ 「SMTP Settings」というメニューをクリックして「Create My SMTP Credentials」のボタンをクリックします。
↑ 次の画面は特に変更せず右下の「Create」ボタンをクリック。
↑ そうするとランダムな SMTP Username と SMTP Password が生成されますので、これをコピペしておきます。(CSVでダウンロードも可能)
そこまでできたら、WordPress の管理画面に戻り、「設定」-「メール」のページから Gmai の場合と同様に以下の内容を設定します。なお、SMTP Host は US East リージョンを選択した場合のホスト名となっています。
From Email | 先ほど検証したメールアドレスを設定 |
---|---|
メーラー | WordPressの全てのメールをSMTP経由で送信する。 |
SMTP Host | email-smtp.us-east-1.amazonaws.com (US East リージョンの場合) |
SMTP Port | 465 |
Encryption | SSLを使用する。 |
Authentication | はい: SMTP認証を使用します。 |
Username | 先ほど作成した SMTP Username |
Password | 先ほど作成した SMTP Password |
これで WordPress からの通知メールをきちんと受信できるようになりました。
コメントを残す