LightsailのインスタンスでWordPressをセットアップした時点でインストールされるプラグイン「WP Mail SMTP」。WordPressからメールを送れるようになるのですが、一番必要になるシーンとしては管理者アドレスの変更、ユーザーの登録業務などです。

今回はGmailを使ってのセットアップ方法です。設定自体は慣れてしまえば簡単です。
GoogleのDevlopersでAPIのセットアップを行うなど、初心者には敷居が高そうに思える場面がいくつかありますが、手順を間違えなければ誰でもできる内容ので安心してください。
コンテンツリンク(目次)
前提条件
下記は今回のセットアップで前提条件です。
- セットアップするためのGmailアカウントを取得済み
- WP Mail SMTPをインストール済
Gmail API のアプリケーションを登録して「クライアントID」を入手する
まずGoogle Developersで、Gmail API のアプリケーションを登録、クライアントIDを入手する必要があります。
下記リンクにいき、新規でプロジェクトを作ります。
Google API コンソール に Gmail API のアプリケーションを登録

「プロジェクトを作成」を選んだ状態で「続行」。しばらく待つと「APIは有効になっています」と出ます。

そのまま「認証情報に進む」をクリック。「認証情報ウィザード」に画面が遷移します。まず「1.必要な認証情報の種類を調べる」を設定。

- 使用するAPI:Gmail API
- APIを呼び出す場所:ウェブサーバー(node.js、Tomcatなど)
- アクセスするデータの種類:ユーザーデータ
上記内容で「必要な認証情報」をクリック。「OAuth 同意画面の設定」が出るので「同意画面を設定」。

別タブで「OAutu同意画面」の設定画面になります。

User Typeは「外部」を選んで「作成」をクリック。

アプリケーション名は自分がわかれば良いので、「ブログ名+WPmailSMTP」など適当な名前をつけてください。他は特に必要ないので、そのまま「保存」をクリック。

OAuth同意画面の設定が終わりましたので、タブを閉じて「認証情報ウィザードに戻ります。

「OAutu 2.0クライアントIDを作成する」の設定を行います。名前は同意画面と同様で適当で大丈夫です。「ブログ名+mail」あたりで。入力したら「更新」をクリックすると「OAutu 2.0クライアントIDを作成」にテキストが変わるので再度クリック。

クライアントIDの作成が完了しました。クライアントIDは後ほど必要になりますが、ここではメモらなくて大丈夫です。JSONデータも不要です。そのまま「完了」を押してください。
Google APIsには後ほど戻ってきます。別タブでWordPressの管理画面に移動してください。
プラグイン「WP Mail SMTP」を有効化
WordPressの管理画面からプラグイン画面で「WP Mail SMTP」を有効化させてください。マルチサイトで使っている人は、個別ではなくサイトネットワークで有効化させたほうが後々トラブルがなく安全です。
左メニューで「設定」の下あたりに「WP Mail SMTP」が出現していると思いますのでクリックして、セットアップ画面に移動。

- 送信元アドレス:今回設定する「Gmailアドレス」(Force From Emailはお好みで)
- 送信者名:ブログ名などわかりやすいものに(Force From nameはお好みで)
- 送信先:送信元アドレスを送信先として設定にチェック

メーラーは「Gmail」を選択。「Gmail」の設定画面が下に現れます。

ここで「Authorized redirect URL」をテキストエディタなどにコピペしてメモしてください。このあと使用します。左側にある書類を重ねたアイコンを押すと文字列がコピーされます。
Gmail APIの設定を完了する
Google APIsの画面に戻ります。「認証情報」をクリックすると一覧の「OAuth 2.0 クライアント ID」の項目に、先ほど設定したアプリ名を見つけて、クリックしてください。

少し待つと画面が切り替わります。まずは、右側あたりに表示される「クライアントID」と「クライアントシークレット」をテキストエディタなどにコピペしてメモしてください。

つづいて左側で、WP Mail SMTP側の情報を入力します。

「承認済みのJacaScript生成元」で「URLを追加」をクリック。設定するWordPressのURL「https〜」を入力。最後の「/」は不要です。
続いて「承認済みのリダイレクトURL」で「URLを追加」をクリック。ここで先ほどWP mail SMTPの画面で入手した「Authorized redirect URL」の文字列(URL)を入力してください。
入力が終わったら「保存」をクリックしてください。これでGmail API側の設定は完了です。
WP mail SMTPとGmail APIを紐付ける
ふたたびWordPressのWP mail SMTPの設定画面に移動します。

「Gmail」の項目で先ほど入手した「クライアントID」と「クライアントシークレット」を入力して「設定を保存」してください。

「Settings were successfully safed.」とは出ますが、まだ完了ではありません。最後にGoogle APIを紐付けて認証します。
ふたたび下の「Gmail」の項目までいくと「Autoerization」がクリックできるようになっていますので、クリックしてください。

よくあるGmailアカウントの認証画面に遷移するので、もろもろを許可してください。
(ここでうまくいかない人はAPIの利用ができないアカウントの可能性があるので、その場合は通常のSMTP方式での設定方法に切り替えた方が無難です)

認証が完了したら、ふたたび「設定を保存」して完了。これでWordPressからメールが送信できるようになりました。管理者アドレスなどの変更もできるようになります。