HOME ブログ アプリケーション ビジネスツール WordPressのメール送信にGmail(Gsuite)を使う方法【2020年最新】

WordPressのメール送信にGmail(Gsuite)を使う方法【2020年最新】

business-tools business-tools

WordPress Gmail

WordPressサイトのメール送信にGmailを使うことって結構多いと思います。

たとえば、Contact Form 7で作ったフォームの送受信メールアドレスにGmailを使う場合です。

でもそのままだと、WordPress経由のGmail送信はGmail側で不正扱いされて送信自体ができないのです。

Googleのセキュリティ判定は都度進化しており、それに伴っていきなりメールの送受信ができなくなったりするので、Gmailなどのグローバルなメールサービスを使う場合は特に注意が必要です。

逆に、日本のレンタルサーバーと同じメールサーバーを利用していたり、国産のメールサーバーを利用している場合は、サポートも日本語ですし心配が少ないかもしれません。

ですが、最近ではG Suiteで企業の独自ドメインのメールアドレスをGmailのメールサーバーで使用するケースが多くなってきています。
その場合、G Suite管理の独自ドメインメールアドレスも通常のGmailと同じ扱いになり、同じような対処が必要になります。

ここではそれら対処法について見ていきましょう。

WordPressからGmailのSMTPサーバーを利用してメールを送信するには

前述のとおりですが、みんな大好きContact Form 7などを使ってWordPressからGmailのメールアドレスでメールの送信を行おうとするとGmail側でブロックされてしまいます。

理由としては単純な問題で、メール差出人のサーバー情報とメールサーバーの情報が異なることが原因です。この問題については後述するWP Mail SMTPなどのプラグインで解決できます。

しかし、Gmailの場合はさらにセキュリティの問題で、許可されていない外部のアプリケーションを通してGmailでメールの送信を行うことはできません。

じゃあどうすればいいの?という話ですが、Gmail APIを使ってWP Mail SMTPでメール送信ができるように許可設定を行うことで可能となります。

WP Mail SMTPを導入する

まずはWP Mail SMTPというプラグインを導入します。WordPress自体のメールはPHPを利用したメール送信のため、基本的にスパム扱いされやすいです。そのためWP Mail SMTPなどのプラグインを利用している人も多いのではないでしょうか。

後述していますが、このプラグインを導入してすぐにGmail送信ができるというわけではありません。※Googleアカウント側でGmailのAPI設定を行う必要があります。

WP Mail SMTP

同じようなプラグインは他にもいくつもありますが、ここではWP Mail SMTPで解説していきます。

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

WP Mail SMTPの設定方法

プラグインの設定画面を開きます。

「送信元アドレス」にメールの差出人のアドレスを入力します。

送信者名には差出人名を入力します。

メーラー設定は「Other SMTP」ではなく「Gmail」を選択する

「メーラー」の項目で「Gmail」を選択します。

WP Mail SMTPの使い方や、WP Mail SMTPでのGmailの設定方法についてネット検索すると、多くのサイトでは「Other SMTP」を選択するように紹介されています。

しかし、現在ではGoogle側のセキュリティがより高度に変化してきたことから、この方法はあまり望ましくありません。

「Other SMTP」を選択して、SMTPホストなどを設定することでも、WordPressでGmailを送信すること自体は可能です。

しかし、この方法でGmailを送信するには、該当のGoogleアカウントで以下のように「安全性の低いアプリの許可」を有効にする必要があります。

当然ですが、このように安全性の低いアプリのアクセスを許可してしまうとGoogleアカウント自体が脆弱になってしまいます。

したがって、「Other SMTP」で設定を行うのではなく、「Gmail」から設定を行うようにしてください。

「Gmail」を選択すると以下のように表示されます。

Client ID(クライアントID)、Client Secret(クライアントシークレット)は、Gmail API側で作成したものをここに貼り付けます。

Authorized redirect URIについては、表示されているものをコピーしてGmail API側に貼り付けます。

それでは今度はGoogleのAPI側の操作に移っていきましょう。

Gmail APIをWP Mail SMTPに設定する方法

まずはGmail APIで認証情報を取得する必要があります。

全体の流れとしては、Google Cloud Platform(GCP)にGoogleアカウントでログインし、プロジェクトを選択してから、Gmail APIを入れ、認証情報を作成します。

Google Cloud Platformでプロジェクトを作成する

Google Cloud Platform(GCP)

GCPプロジェクトは最初に自動生成されるものでもいいですし、新たに作成しても構いません。後々管理をしやすくするために、プロジェクト固有の名前をつけておいたほうがいいかもしれません。プロジェクト自体はすぐに作成できるため、作成方法については割愛します。

選択されたプロジェクトの画面から、「APIとサービス」→「ライブラリ」に移動します。

もしくは以下リンクにアクセスしてプロジェクトを選択しても構いません。

Google API Console ライブラリ

検索欄に「Gmail」と入力し、APIライブラリから「Gmail API」を検索します。

Gmail APIが表示されるので、「有効にする」を押します。

Gmail APIの認証情報を作成する

APIを使用するためには、プロジェクトにGmail APIの認証情報を作成しなければいけません。Gmail APIを有効化すると、以下のように「認証情報を作成」と表示されるのでクリックします。

認証情報の作成

プロジェクトへの認証情報の追加画面が表示されます。

以下のように設定します。

プロジェクトへの認証情報の追加

使用するAPI
⇒「Gmail API」

APIを呼び出す場所
⇒「ウェブブラウザ(JavaScript)」

アクセスするデータの種類
⇒「ユーザーデータ」

「必要な認証情報」ボタンをクリックします。

ボタンを押すと、今度は「OAuth同意画面の設定」というポップアップが表示されました。

OAuth(オーオース)とは、ユーザーごとに権限の認可を行うための仕組みになります。なんのことか意味がわからなくても問題ありません。

OAuth (オー オース) は、権限の認可(authorization)を行うためのオープンスタンダードである。
OAuth – Wikipedia

OAuth同意画面の設定を行う

さきほどのポップアップ内の「同意画面を設定」を押します。
以下のようにOAuthの同意を設定する画面が表示されます。

OAuth同意画面

アプリケーション名に適当なものを入力し保存を押します。

その他項目は任意です。空のままでも構いません。
同意画面を作成したら、先程の認証情報作成のページに戻ります。

OAuthクライアントIDを作成する

OAuthクライアントIDを作成します。

「名前」はわかりやすいもので、お好きなもので構いません。

【承認済みのJavaScript生成元】に、WordPressサイトのドメインを入力します。

【承認済みのリダイレクトURI】の欄には、WP Mail  SMTPのGmail設定で表示されていた、「Authorized redirect URI」をコピーしてきて貼り付けます。

後からでも作成・修正はできます。

「OAuthクライアントIDを作成」をクリックします。

クライアントIDが表示されますが後からでも確認できるので、ここでコピーしておく必要はありません。

完了すると認証情報画面に以下のように表示されます。

「クライアントID」と「クライアントシークレット」をコピーします。

WordPressのWP Mail SMTPの画面に戻り、「クライアントID」「クライアントシークレット」を入力し保存します。

以下のボタンが表示されるのでクリックします。

Googleアカウントにアクセスリクエストが送られます。

Gmailの許可を行います。

WP Mail SMTPで以下のように表示されたら完了です。

念の為、「Email Test」のタブでメールがちゃんと送信されるか確認してください。

以上で完了です。

WordPressでGmail送信をする方法まとめ

G Suiteの利用で、WordPressでG Suiteメールアドレスを使いたいと思う方は多いかも知れませんが、もしそうでない場合、WordPressのメールアドレスはGmail以外のメールサービスを使ったほうが簡単でいいかもしれません。

Gmailはセキュリティが厳しく、さらには設定を間違えると受信側でも弾かれる可能性があります。

頻繁に仕様変更も行われるので、いつの間にかGmail側の仕様が変わっていて、メールが送信できていなかった、といったトラブルがあった人もいるのではないでしょうか。

また、Gmailは多くのメールを送信したりするのに向いていません。

Gmail APIにはレート制限などセットアップによる制限がいくつかあり、多くのメールを送信する場合、制限がかかることもあります。

このあたりはアカウント運用方法と、メール送信に関する制限事項を読み検討する必要があります。

よければご参考にしてみてください。

SHARE !

TAG