WordPressのメール送信にGmailを設定

WordPressのお問い合わせフォームを設置した際に、メール送信の設定が必要となり、Gmailを使った設定を行ったので紹介します。
簡単に設定できると思いきや、Gmailのセキュリティ対策で、信頼性の低いアプリからの接続が拒否されるようになっています。(これは正しいと思います)セキュリティを下げて接続させることもできるのですが、それはちょっと….ということで、Gmail APIを使って設定しました。

設定手順は以下です。

  1. プラグイン(WP Mail SMTP)のインストール
  2. WP Mail SMTPの設定
  3. Gmail APIの設定
  4. Gmail APIの情報をWP Mail SMTPに反映

1.プラグイン(WP Mail SMTP)のインストール

まずは、WordPressでメール送信をするために、WP Mail SMTPというプラグインをインストールします。

上記プラグインをインストールして有効化します。

2.WP Mail SMTPの設定

最初に、送信元アドレスと送信者名を入力します。

メーラーでGmailを選択します。
※くれぐれも「Other SMTP」を選択しないように

Gmailの設定項目が表示されます。ここは、Gmail APIの設定が終わってから入力します。

ここに情報をいれるために、Google側にGmail APIの登録を行います。

3.Gmail APIの設定

WP Mail SMTPでGmailを使ってメールを送信するには、Google API(Gmail API)を使います。GoogleAPIを使うには、OAuth2.0というプロトコルを使って認証する必要があるので、Google Cloud Platform(CGP)でAPIの設定を行い、認証に必要な情報を取得します。

以下のリンクからGoogle Cloud Platform(CGP)にアクセスできます。

https://console.cloud.google.com/

まずは、Google Cloud Platform(CGP)にGoogleアカウントでログインしてから、今回使用するAPIライブラリの「Gmail APIを有効化」します。

ログインしたら、サイドバーの「APIとサービス」→「ライブラリ」を選択します。

検索欄に「Gmail」と入力します。

「Gmail API」を選択します。

初めての場合は「有効にする」ボタンが表示されるので押します。

有効化すると、OAuth用の認証情報を作成するボタンが表示されます。
ボタンを押して認証情報を作成します。

以下の画面が表示されるので、「OAuthクライアントID」を選択します。

アプリケーションの種類で「ウェブ アプリケーション」を選択、名前を設定して、作成ボタンを押します。

OAuth同意画面をクリックしてください。許可をもらう認証画面に表示するアプリケーション名を入力して、保存ボタンを押します。

先程の認証画面に戻って、クライアントIDを作成します。
ここでは、クライアントIDの名前、サイトのドメイン名、WP Mail SMTPのGmail設定で表示されていたURIを設定します。

保存ボタンを押せば完了です。

作成が完了すると、画面の右側に以下のような「クライアントID」と「クライアントシークレット」が表示されます。WP Mail SMTPに設定するのでコピーしておいてください。

4.Gmail APIの情報をWP Mail SMTPに反映

先程コピーしたクライアントIDとクライアントシークレットを張り付けます。Authorization欄にあるボタンを押すと、Googleアカウントにアクセスリクエストが送られます。
リクエストがきたら「許可」すれば、WP Mail SMTPでメールを送れるようになります。

最後にWP Mail SMTP側のEmail Testで「Send Email」を押して、メール送信が確認できればOKです。

これで、Google側のセキュリティ設定を変更せずに、WP Mail SMTPでメール送信ができるようになりました。

Gmail APIは、Pythonを使ったメール送信などにも使えるので覚えておいた方がいいですね。

参考までに、Gmail APIには利用制限があるようです。

おおよそ1日当たりで1日当たりで1000万通、1秒当たりで2通程度が上限のようです。普通に使う分には制限にはかからないとは思います。

【参考】Google APIのOAuth認証情報確認方法

GoogleAPI用のOAuth認証情報は、Google Cloud Platform(CGP)から確認できます。

https://console.cloud.google.com/ へアクセスして、「APIとサービス」⇒「認証情報」を選択します。

OAuth2.0クライアントIDを選択します。

OAuth2.0の認証情報(クライアントIDとクライアントシークレット)が右上に表示されます。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA