WordPress on Amazon LightsailでGmailを送受信する

IT

もしかするとこちらのページを見てくれる方がいて、なんやかんや気になって問い合わせをしたい、と思ってくれる方がいるかもしれないと思い、お問い合わせフォームを用意することにしました。

ところが下記のように一般設定からメールアドレスを入力しても、変更した際に送られるという「サイト管理者のメールアドレス変更のリクエスト」が幾度待っても一向に届かない…

管理画面のメールアドレス設定箇所
WordPressのメールアドレス変更時に承認メールが届かない時の原因と対処法
WordPressのメールアドレスを変更しようしても承認メールが届かず「メールアドレス変更が承待ち中です。」の状態がずっと続いて変更ができませんでしたが独自ドメインのメールアドレスを使用することで解決できました。そのときの対処法と原因を説明します。

暫し路頭に迷っていた中、こちらの方の記事を見て、何やらそもそもサーバからメールを送る時点で止まっていそう、ということに気がつき、設定の見直しをしました。その設定に少し手こずったので、うまくいった方法を紹介できればと思います。

私はGmailを利用することが多いので、Gmailで送信するケースを紹介します。参考までに私の環境を簡単に記載します。

筆者条件
  • WordPressをAmazon Lightsailで構築
  • Gmailアカウントで認証しようとしている
  • G suiteアカウントを持っておらず個人利用を想定

プラグインの導入

メール送信に当たって、自力で全てやろうとも考えたのですが、よくわからないなぁとなったので、プラグイン(WP Mail SMTP)を利用しました。

プラグイン側の公式ドキュメントにもGmailの導入方法の記載があるのですが、私は途中から画面が違ったので、あくまで参考程度にとどめていました。(G Suite accountを持っている前提のような記載でした)

プラグインを入れるとWP Mail SMTPという項目が管理画面のリストに追加されるはずなので、そこから基本設定をしていきます。

WP Mail SMTP設定画面

Generalから下にスクロールしていくと、Mailの設定があるので、送信元アドレス に問い合わせが届いて欲しい自分のアドレスを入力し、送信者名にはお問い合わせが送られてくるのがどこからかわかるように名前を適当に入力します(サイトページが無難かなぁとは思います)。

GeneralのMail設定項目

その下にさらに進んでいき、返信先の送信元アドレスを返信先(return-path)として設定にチェックを入れ、メーラーにGmailを選択します。

return-pathというのは何やらメールを送信していて、エラーが起きた時に使用される送信先のようなもので、あったほうが不測の事態をキャッチできるかもしれません

GeneralのMail設定項目続き

初めメーラーをOther SMTPにして設定を進めていたのですが、最終的にGoogle側からセキュリティ性能が低いからブロックしたやでと怒られた&WP Mail SMTPにもGmailの指定がおすすめと書いていたので、そちらでやり直しています。(初めに気付けたらよかった…)

Gmailを選択するとClient IDClient Secret等々の項目があると思いますが、Gmailで送信できるようにするためには、これらの情報を取得する必要があります。(画像は諸々取得後なので埋まっていますが、初めは空欄のはずです)

そのため、一旦こちらの設定画面を離れてGoogle側の設定を行いましょう。

Gmailの設定項目

Google APIsでClient ID, Client Secretの取得

まずはGoogleのデベロッパーコンソールにアクセスします。そうするとダッシュボードに飛ぶと思うので、プロジェクトを作成します。

Google APIs ダッシュボード

無事プロジェクトが作成できたら、OAuth同意画面を選択して進めていきます。G Suiteアカウントを持っていないため、User Type外部を選択します。

OAuth同意画面

作成すると、さらに設定画面に進むので、必要な項目を埋めて保存します。

  • アプリケーション名: ご自身のサイト名などお好きな名前を入力
  • サポートメール: 連携するメールアドレスが入っていることを確認
  • 承認済みドメイン: https://などを除いたドメインを入力
  • アプリケーション ホームページ/プライバシーポリシー/利用規約: https://など含むサイトのリンクを入力
OAuth同意画面設定
OAuth同意画面設定続き

ここまできたらお次はいよいよClient ID, Client Secretを取得するために認証情報を作成していきます。この時OAuthクライアントIDを選択します。

認証情報画面

続けて設定をしていき、保存します。

  • アプリケーションの種類: ウェブアプリケーション
  • 名前: お好きな名前を入力
  • 制限事項/ 承認済みのJavaScript生成元: サイトのリンクを入力
  • 制限事項/ 承認済みのリダイレクトURI: WordPress側のWP Mail SMTP設定画面に記載されていたAuthorized redirect URIを入力
認証情報設定画面
WordPress設定画面のAuthorized redirect URI

保存がうまくいくと、画面が遷移し、OAuthクライアントと書かれたポップアップが表示されます。そこに書かれているクライアントIDクライアントシークレットがそれぞれ必要な情報なので、これをWordPress画面WP Mail SMTPの設定に入力しましょう!

認証情報を設定後に表示されるポップアップ
WordPress設定画面のClient ID/Client Secret

メールアドレスの認証

Client ID/Secretの入力ができたらあとは認証するだけです。すでに認証メールを送っていた方は一度キャンセルし、再度アドレスを入力して認証メールを再送してください。

認証メールが届いていれば、そこに認証のためのリンクが記載されているので、それをクリックして進めていきます。クリックするとGmailの全てのメールの閲覧、作成、送信、完全な削除 にチェックボックスを入れて許可を押します。(画像はすでに許可済みのものを貼ったのでチェックボックスがないです)

許可をするとWordPress側のメールアドレス設定のAuthorizationの部分にConnected as <登録したメールアドレス>と表示されているはずです。そうすれば無事繋がっているので用意したお問い合わせフォームなどから試しにメールを送ってみましょう。

私はこれで送ることができました!参考になれば嬉しいです 😁

コメント

タイトルとURLをコピーしました