今まで自サーバからメール送信を行っていたが、Gmailからメール送信する方法に変更することにした。
SMTP経由でのメール送信ができない
WordPressではメール送信機能はありますが、Wordpressと同じサーバ内にメール送信機能(SendmailやPostfixなど)が立ち上がっていることが前提となります。
メール送信機能Gmailなど外部サーバとする場合はWordpress標準のままではメール送信ができないため、プラグインを用いてメール送信するようにします。
WP Mail SMTPプラグインを使用する
外部のメール送信機能を使うためのプラグインはいくつかあるが、今回は「WP Mail SMTP」を使うことにした。
![](https://kaede.jp/wp-content/uploads/2020/07/image-1.png)
インストール後、左側のメニューに「WP Mail SMTP」が表示されます。
メール設定
Authorized redirect URIの取得
WP Mail SMTPを開き、メーラのところにGmailを選択します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-2.png)
メーラがいくつか設定できますが、今回はGmailを選択
GmailではClient ID及び Client Secretキーの入力が必要になります。
※Other SMTPでSMTPを用いてG Mail経由でメール送信も可能ですが、セキュリティ上選択しないほうが良いです。(後述)
![](https://kaede.jp/wp-content/uploads/2020/07/image-3-1024x773.png)
ここではAuthorized redirect URIの情報をメモして、Gmail側の設定を行います。
Client ID、Client Secretの取得
GCPアクセス、Gmail API設定
Gmailでメール送信を行う場合、Client ID、Client Secretの取得が必要となります。
この値を取得するにはGoogle Cloud Platform(GCP)にて設定する必要があります。
まず、GCPのAPIライブラリにアクセスします。
![](https://kaede.jp/wp-content/uploads/2020/07/image-4.png)
検索項目にてGmail APIを入力し、詳細画面に遷移します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-5-1024x381.png)
![](https://kaede.jp/wp-content/uploads/2020/07/image-7-1024x799.png)
「有効」をクリックし、Gmail API画面へ遷移します。
※プロジェクトを選択しないと有効化にならないので注意
今回はデフォルト(My First Project)を選択
![](https://kaede.jp/wp-content/uploads/2020/07/image-8-1024x389.png)
プロジェクトへの認証情報の追加
右側にある「認証情報を作成」をクリック
![](https://kaede.jp/wp-content/uploads/2020/07/image-9.png)
「使用するAPI」では「Gmail API」
「APIを呼び出す場所」では「ウェブブラウザ(JavaScript)
「アクセスするデータの種類」では「ユーザデータ」
を選択します。
次に「必要な認証情報」ボタンを押下するとOAuth同意画面の設定が表示されるので
「同意画面を設定」を選択して同意画面を作成します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-10.png)
OAuthの同意画面作成
![](https://kaede.jp/wp-content/uploads/2020/07/image-13-1024x204.png)
※上記のようにプロジェクト一覧がない場合、別アカウントになっている可能性があるので注意
(デフォルト設定のユーザが表示される場合があります)
「G suite」を契約している場合は User Typeを内部を選択
それ以外の方は外部を選択
※内部のほうがセキュリティは高くなる。
![](https://kaede.jp/wp-content/uploads/2020/07/image-15.png)
![](https://kaede.jp/wp-content/uploads/2020/07/image-16.png)
アプリケーション名を決めます。今回はWordpressからの送信が目的のため、そのほかは未記入でもOKです。
保存を押下するとOAuth同意画面作成完了です。
![](https://kaede.jp/wp-content/uploads/2020/07/image-17.png)
クライアントキーの取得
左メニューから「認証情報」を選択すると前回とは違う画面が表示されます。
![](https://kaede.jp/wp-content/uploads/2020/07/image-18-1024x266.png)
「認証情報を作成」から「OAuthクライアントID」を選択します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-19.png)
OAuthクライアントIDの設定をしていきます。
![](https://kaede.jp/wp-content/uploads/2020/07/image-20.png)
「アプリケーションの種類」には「ウェブアプリケーション」
「名前」は好きな名前
「承認済みのJavascript生成元」はWordpressのドメイン(Kaedeブログの場合はhttps://kaede.jp)
「承認済みのリダイレクトURI」は「WP Mail SMTP」で取得した「Authorized redirect URI」
を設定します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-12-1024x773.png)
保存を押下するとOAuthのクライアントIDとクライアントシークレットが表示されます。
![](https://kaede.jp/wp-content/uploads/2020/07/image-21.png)
WordPress(WP Mail SMTP)の設定
先ほど取得したクライアントIDとクライアントシークレットを(WP Mail SMTP)画面に入力します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-12-1024x773.png)
設定を保存すると「Authorization」に「Allow plugin to send emails using your Google account」ボタンが押せるようになるので、押下します。
![](https://kaede.jp/wp-content/uploads/2020/07/image-22.png)
Google認証(OAuth画面)が表示されますので、認証処理を行います。
※アプリケーションの種類を内部にしている場合はG Suiteアカウントでしかログインできないので注意
![](https://kaede.jp/wp-content/uploads/2020/07/image-23.png)
許可後、Wordpress(WP Mail SMTP)画面に戻り、Authorization項目でメールアドレスが表示されれば認証成功です。
![](https://kaede.jp/wp-content/uploads/2020/07/image-24.png)
確認
Contact Formなどメール送信できる機能でメールを送信し、確認を行います。
GMailでSMTP認証は廃止される予定
Google社は2020年にGSuiteにおいてPOP及びSMTP認証を廃止すると通達がありました。
Turning off less secure app access to G Suite accounts
Outlook2013ではOAuth認証が利用できないため、Outlook2016以降の移行が必須だったんですよね。(Outlook2016でも更新プログラム適用しないと使用できない)
2020年3月に撤回していますが、再び制限かけるかもしれないため、OAuth認証経由で送信したほうが無難です。