HOME  /WordPress(応用)
 /Gmail SMTPプラグインで、GmailのSMTPからメールを送る方法
2021年02月08日

Gmail SMTPプラグインで、GmailのSMTPからメールを送る方法

ここではWordPressからGmailのSMTPを介してメールを送る為に「Gmail SMTPプラグイン」を利用する方法を解説しています。

 

このプラグインは「SMTP認証にOAuth2.0プロトコル」を利用するので、Gmailのセキュリティを守る事ができます。

 メモ

GmailのSMTPを利用する方法には「アプリパスワード」を利用する方法もあります。

しかしこの方法はGmailのセキュリティが低下するという理由でGoggleは推奨していません。

 

上記を利用する為には

①WordPressに「Gmail SMTPプラグイン」をインストールする

②Googleクラウドに「Gmail API」を設定する

事が必要になります。

 

ここでは、このサイト「nw.myds.me」をGmail「kan.onnji@gmail.com」の「Gmail  API」で認証してもらう事例で解説します。

この資料を参考にする場合は、貴方の環境に読み替えて実行して下さい。

 

1.WordPressにGmail SMTPプラグインのインストールする

1.プラグインをインストールする

プラグインの新規追加で「wp gmail smtp」で検索し、下記アイコンから「インストール→有効化」を実行します。

 

2.設定画面を開きます。

設定 → Gmail SMTP]をクリックします。

下記画面が表示されます。(下図は一部だけを表示しています)

上記の入力項目の説明

項目 説明
Authorized Redirect URI Gmail APIに許可して貰うURIで、現在のサイトの情報が表示されてます。

このURIを「Gmail API」で認証して貰います。

Client ID Gmail API」に上記のURIを許可してもらった時に発行されるクライアントIDです
Client Secret Gmail API」に上記のURIを許可してもらった時に発行される秘密コードです
OAuth Email Address SMTPを利用するGmailアドレスです

このサイトは「kan.onnji@gmail.com」のSMTP経由でメールを送ります

この設定はここで中断し、今度は「Gmail API」の設定を行います。

 

2.Googleクラウドに「Gmail API」を設定する

「Gmail API」はプロジェクト名の下に位置付けられるので、まずはプロジェクトを作成します。

1.プロジェクトの作成

1.下記URLをクリックします

 console.developers.google.com

 

2.Google APLs画面が表示されます。

①利用したい「Gmailアカウントか?」をチェックして下さい。

もし違う場合は、アカウントを変更します。

②「プロジェクト作成」をクリックして下さい。

 

3.新しいプロジェクトの作成画面が表示されます。

①プロジェクト名を任意名称に変更できますが、あまり意味が無いのでデフォルトで良いと思います

②「作成」ボタンを挿入します。

以上でプロジェクトの作成が完了しました。

次にこのプロジェクトの下に「Gmail API」を設定します。

 

2.Gmail APIの呼び出し

1.プロジェクトが作成されたら、[ APIとサービスを有効にする]をクリックします。

①先程、作成したプロジェクト名か?を確認して下さい。

②「APIとサービスの有効化」をクリックします。

 

2.表示された下記画面から「Gmail API」を探して有効化します

 

Gmail APIは「Google Worksoace」の所にあります

■「Gmail API」をクリックします

 

下記の「Gmail API」を有効にします

以上でGmail APIが使える様になりました。

 

3.Gmail APIに「OAuth 同意画面」を設定する

次にやる事は、この「Gmail API」に誰がアクセスできるか?の設定です。

1.下記画面で「認証情報を作成」を実行します。

①左上にGmail APIになっている事を確認します。

②「認証情報を作成」をクリックします。

 

2.認証画面が表示されます

①上図の「クライアントID」をクリックします。

 

3.OAuthクライアントIDの作成画面が表示されます

①「同意画面を設定」をクリックします。

 

4.OAuth同意画面が表示されます。

①「外部」を選択します。

登録されたテストユーザだけが、このAPIにアクセスできる設定です。

②「作成」をクリックします。

 

5. アプリ登録の編集画面が表示されます

①OAuth 同意画面

入力するのは下記項目だけで、あとはデフォルトにします。

■任意のアプリ名を入力します

■利用するGmailを選択します

■利用するGmailを選択します

■上記のボタンを挿入して先に進みます。

②スコープ画面

特に設定する項目はありません

■上記のボタンを挿入して先に進みます。

③テストユーザー画面

ここで、認証を求めるGmailユーザを指定します。

ユーザ追加画面が表示されます

①このGmailアドレスは「Gmail SMTP」から認証を求める時に利用するGmailアドレスです。

上記設定で「kan.onnji@gmail.com」だけが認証を求める事ができる様になりました。

②追加ボタンを挿入します。

を挿入します。

 

④概要画面が表示されます。

上記ボタンを挿入して終了です。

以上で誰が認証を要求するのか?の設定が完了しました。

 

4.Gmail APIに「認証情報」を設定する

最後に指定したURIに対応する「クライアントID」と「クライアントシークレット」の作成です。

1.OauthクライアントIDを起動します。

①メニュから「認証情報」をクリックします

②画面上部にある「認証情報を作成」をクリックし、プルダウンから③「OauthクライアントID」を起動します。

 

2.OAuth クライアント ID の作成画面が表示されます。

■アイコンの▼をクリックし、「ウェブアプリ」を選択します。

 

①名前を入力します

■名前を入力します

この名前は「どのサイトからアクセスされるのか?」が判る名前を入力します

 

②認証してもらうURIの設定

■URIを追加ボタンを挿入して認証してもらうURIを入力します。

■URIの所に「GMAIL SMTP」の「Gmail APIに認証してもらうURI」をコピーして、ここに張り付けます。

■作成ボタンを挿入します。

■クライアントIDをコピーして「GMAIL SMTP」の「クライアントID」にペーストします。

■クライアントシークレットをコピーして「GMAIL SMTP」の「クライアントシークレット」にペーストします。

■OKで終了です。

その結果、下図の様に「nw.myds.me」に「クライアントID」と「クライアントシークレット」が設定されました

■上図の名前の所をクリックしても「クライアントID」と「クライアントシークレット」を取得する事ができます。

 

3.Gmail SMTPプラグインのその他の設定

設定画面

■上記の「クライアントID」と「クライアントシークレット」を取り込みます。

あとは、下記の説明を参考にその他の項目を設定して下さい。

項目 説明
From Email Address 電子メールの「差出人アドレス」

ex)kan.onnji@gmai.com

From Name 電子メールの「差出人アドレス」の前に付く名前

ex)ホームネットワーク研究所

上記で設定した場合メールのFromは下記になる

ホームネットワーク研究所 <kan.onnji@gmail.com>

Type of Encryption 暗号化のタイプで「TLS」が推奨です。
SMTP Port TSLの場合は「587」を入力します。
Disable SSL Certificate Verification SSL証明書の検証を無効にさせる為に✔を付けます。

画面の下に下記のボタンが配置されています。

①「Save Changes」:設定が終了したらこれで保存して下さい。

②「Grant Permission」:次に許可ボタンを挿入します。

③利用するGmailのリストが表示されるので「kan.onnji@gmail.com」を選択します。

OAuth 同意画面の設定で、上記のGmailからしか許可申請できない設定になっています。

④下記画面が表示されます

■Continueをクリックします。

⑤下記画面が表示されます

■許可をクリックします

⑥下記画面が表示されます

■許可をクリックします。

以上で設定は終了しました。SMTPステータスがグリーンに変わります。

■あとはテストメールを送ってきてください。正常に送れる筈です。

 

 メモ

Gmail SMTPで設定を解除した場合は、下記の設定を削除してから再設定をして下さい。

上記の設定を削除してから、再度、[Gmail APIに「認証情報」を設定する]を実行して新たなクライアントIDを作成する必要があります。

以上でこのドキュメントの説明は完了です。

関連ドキュメントはメニュの「Wordpress(応用編)タブ」か下記の関連記事一覧から探して下さい。

又、このサイトには、Google広告が掲載されています。

この記事が貴方の参考になりましたら、広告もご覧頂ければ幸いです。


<関連記事一覧>

「wprdpress-ad」に関連するドキュメントを表示しています。尚、このページネーションはJquryで制御しています。

SynologyでWordPressを運用している時に、遅い!と感じる状況に遭遇しました。対策は①All in One SEOと②WP Mail SMTPの廃止です。この経緯を説明しています。

WordPressサイトの公開後のプログラム変更は、サイトダウン等の危険性があるので難しくなります。そこで、私が行っているSyonologyを2台使った開発環境構築事例を紹介しています。

WordPressのメジャーアップデート(5.5や5.6)ではWordpressの更新が失敗する事があります。このような時にサイトを修復する方法を解説しています。

ここでは「WP-Mail-SMTP」プラグインと「Gmail API」を使ってWordPressからメールを送る方法を解説します。特徴はGoogleのセキュリティ審査で警告は出ないが、設定と運用が面倒な事です。

ここでは「WP-Mail-SMTP」プラグインと「Googleのアプリパスワード」を使ってWordPressからメールを送る方法を解説します。特徴は簡単で運用が簡単だがGoogleのセキュリティ審査で警告がでます。

Wordpressのセキュリティ強化の方法として「SiteGuard WP Plugin」と「Google Authenticator」の使い方を解説しています。

「Velvet Blues Update URLs」はWordpressのプラグインです。よって、WordPress稼動中にURLを変更するツールです。これを使ってサイトのURLを変更する方法を解説しています。

ここでは「WordPressの稼働環境」と「関連ドキュメント」及び「アクセスルート」の解説を行っています。

「PHP7.0」から「PHP7.3」に変更したや、画面が途中で表示されないという問題が発生しました。この時に対応した内容を紹介しています。

「PHP Compatibility Checker」で「File has mixed line endings; this may cause incorrect results」の警告が出た時の対処方法を解説しています。

Jqueryでコントロールするページネーションです。
デバイスに全リストを送り、Jquryで何処を表示するか?のコントロールをします。

PHPでコントロールするページネーションを投稿ページ等に配置すると動作しない事があります。
これを解決する方法を解説しています。

このドキュメントではビジュアルエディタでモーダルウィンドウを使ったコンテンツを作成する方法を解説しています。更に1ページの中に複数のモーダルウィンドウ定義があっても対応できるJqueryにしています。

ビジュアルエディタで文書を作成する時、ボタンを作成したい時があります。
ここでは下記のBootstrapのボタンをビジュアルエディタで利用する方法を解説します。

ここでは引用

の設定と使い方を解説します。ポイントは見やすい引用BOXです。

親テーマのビジュアルエディタのCSSが「editor-style.css」でない場合はTinyMCE Advancedプラグインを利用するのに一工夫が必要になります。
ここではその解決方法を解説しています。

2018年末にリリースされたWordPress5.0から標準エディタは「ブロックエディタ(Gutenberg)」に変更になりましたが「ビジュアルエディタ」を使い続ける方法を解説しています。

ビジュアルエディタの操作画面に幾つかのダッシュアイコンボタンを追加したサンプル事例を紹介しています。

広告を読み出すHTMLをそのまま記述すると、プログラムが見づらくなります。 その対策として関数を使う方法もありますが、ここではWordPressのウィジェット機能を使う方法を解説します。 1.サイドバーにAdSense広 […]

画像が多いサイトを作成するとどうしても表示スピードが遅くなります。 この対策の一つとして画像を圧縮する方法があります。   画像圧縮には色々なツールがありますが、ここでは「Compress JPEG & […]

WP Mail SMTP等でGMAILのSMTPサーバを利用する場合は、「アプリパスワード」又は「Google Cloud Platform」を利用する必要があります。ここでは「アプリパスワード」の設定方法を解説しています。

SynologyのDSMで80/443以外のポート番号を使ったWebサイトを構築する方法を解説しています。

SynologyでWordPressのURL変更を「Search-Replace-DB」で行う為には、ポート番号指定でDBを見に行く必要があります。ここではこの使い方を解説しています。

wordpress関数のwp_mailを使った事例を解説しています。このフォームのボタンはBootstrapで、ダブルクリックによる二重送信防止機能も付けています。

このコンテンツはこのサイトのフッタページのデザインを解説した物です。

このコンテンツはこのサイトのリストページのデザインを解説した物です。ページデザインはFlexboxを採用して左にコンテンツ、右にウィジェットを配置しています。またページ送りはBootstrapのページネーションを利用しています。

このコンテンツはこのサイトの投稿ページのデザインを解説した物です。ページデザインはFlexboxを採用して左にコンテンツ、右にウィジェットを配置しています。

PHPプログラムでコントロールするページネーションです。
やり方はWordPressのページネーションからデータを取得し、それをBootstrapのページネーションフォーマットで出力しています。

PC画面ではサイドバーがあっても良いが、幅が狭いスマホではこのエリアが確保できない。そこでスマホの場合は自動的にBootstrapのドロップダウンメニュに置き変えるサイドーバーの作り方を解説しています。

このコンテンツはこのサイトの固定ページのデザインを解説した物です。ページデザインはFlexboxを採用しています。またトップページはfront-page.phpを利用しています。

パンくずは一般的にはプラグインを利用しますが、ECサイト等でサイトに特化したパンくずにする為には自作のパンくずの方がカスタマイズ性に優れます。そこでここでは自作のパンくずを作る方法を解説しています。

Bootstrapのインプットグループ機能を使った検索BOXを作成した事例です。検索BOXは関数化してボタンの色を指定できる様にしています。

Bootstrapのナビゲーション・バー(Navbar)機能を使うとスマホ画面がスマートになります。但しデフォルトでは使いづらいのでNavbarボタンの関数化とWordPressメニュを使う方法を解説しています。

Bootstrapのナビゲーション・バーとflexboxを使ったヘッダの作成事例です。Bootstrapのナビゲーション・バーを使う事により、スマホのヘッダ画面が簡単に作れます。またFlexboxを使う事によりPCやタブレットのヘッダ画面が簡単で綺麗なメニュが作れるようになりました。

モーダルウィンドウとは新しいウィンドウを表示し、その操作が完了するまで親ウィンドウの操作ができないタイプのウィンドウのことです。ここではBootstrapのモーダルウィンドウ機能をビジュアルエディタで使う方法を解説しています。

ビジュアルエディタでBOXを作成する方法は①表機能を使う②スタイルで設定したBOXを使うがありますが、ここでは表機能を使ってBOX全体がリンク対象になるBOXを作成する方法を解説しています。

Bootstrapを導入するとBootstrapが持っているアイコンフォントが使える様になります。一方、WordPressもアイコンフォントを持っています。ここではこれらの使い方を説明しています。

ここではビジュアルエディタでタブ切替ができるコンテンツを作成方法を解説しています。更にここでは1ページに複数のタブ要素があっても対応できるjqueryプログラムにしてあります。

TinyMCEのスタイルは1つの段落に対する定義になります。よってこのスタイルで作成したBOXは、改行(Shift+Enter)しか使えません。しかしショートコードという新しい概念を利用すると段落変更(Enter)が使えるBOXを作る事ができます。ここではその作り方を解説しています。

TinyMCEで画像を取り扱うポイントは、画像に枠を付ける場合はどうするのか?と画像のレスポンシブ化は、どの様に実現するか?になります。ここではこれらの設定方法と使い方を解説しています。

このドキュメントではビジュアルエディタの段落、h2~h5及びリンクの設定とリンクの貼り方を解説しています。

TinyMCEではリストとして、オーダリスト

    とアンオーダーリスト

      が用意されていますが、決して使い易いものではありません。そこでこのサイトではTinyMCE Advancedのスタイル機能を使って半角2文字リスト、半角4文字リストを作成する事により、文字種を選ばないリストを作成しました。

ビジュアルエディタで文書を作成した際にどのフォントを使うか?は悩ましい所です。ここではどの様なフォントを指定するとどの様なフォントで表示されるのかを解説しています。

ビジュアルエディタで綺麗な表を作成する為に「TinyMCE Advanced」と「Bootstrap」の表機能を利用しています。ここではそれらの設定方法と利用方法を解説しています。

レスポンシブWebデザインとは、ユーザーが閲覧するデバイス幅に応じたデザインで表示させる技術のことで、有名所でBootstrapとFlexboxが挙げられます。ここでは両者の特徴と違いを解説しています。

Flexboxは素晴らしい機能ですがプロパティの設定に悩まされます。本稿では具体的な事例を挙げながらFlexboxの使い方を解説しています。

PHPプログラムで表示するデバイスの種類が判ればプログラミングが簡単になります。そこでここではデバイス種類を取得する関数とデバイスの画面サイズを取得する方法を併用して、実使用上問題ない方法を解説しています。

画面サイズを取得する為には①セッション機能をONにする。②ajaxを使ったJqueryプログラム③ajaxからのデータを受け取るphpプログラムが必要になります。またajax経路はWordPressのデフォルト経路ではなく独自経路を使っています。

WordPressで用意されている関数、is_mobileやwp_is_mobileを利用すると、アクセスしてきたデバイスの種類を意識したPHPプログラムを作成する事ができます。ここではこの設定方法と使い方を解説しています。但し、これは画面サイズではありません。

ここでは整形済みテキスト(pre)の設定と使い方を解説します。整形済みテキストのポイントは見やすいソーステキストの提供です。

Bootstrapのモーダルウィンドウの機能をビジュアルエディタで使うとどうしてもBootstrapの仕様の制限を受けます。
そこでこの投稿では自作のモーダルウィンドウの作り方を解説します。ここでは背景色の変更やコンテンツエリア幅の変更を可能としています。

コラップスとはアコーディオンなどのようにコンテンツを開閉できる機能でここではBootstrapのコラップス機能をビジュアルエディタで利用する方法を解説しています。更に1ページに複数のコラップスがあっても対応できるJqueryにしています。

TinyMCEのデフォルト設定ではインデントはpタグとimgタグしが使えません。またCSSを更新した時にスーパリロードしないと画面が更新されない等の問題点もあります。ここではこれらの問題点を解決して使い易いTinyMCEの設定方法を解説しています。

ビジュアルエディタのCSS「editor.style.css」を充実させると操作性は良くなりますが、「style.css」を維持する事が大変になります。ここではその管理方法の一例を紹介しています。

TinyMCEの仕様は親テーマのeditor-style.cs、子テーマのeditor-style.cssの順番に読み込みます。ここでは子テーマのeditor-style.cssだけを使う方法を解説しています。

Bootstrapはグリッドデザイン以外にボタンやナビゲーション等の色々な機能を持っており、これを利用するとかなり自由なデザインが可能になるツールです。このBootstrapをダウンロードし、HTTP画面やビジュアルエディタで使う方法を解説しています。

子テーマの作り方には色々な方法があります。ここで紹介している方法は親と子を明確に分離する方法なので、子テーマのCSSが親テーマのCSSと完全に分離するので見やすくすることができます。

phpmyadminのセキュリティ対策として①アクセスできる人の制限を強化する②アクセスできるIPアドレスを制限する
③プログラムの名前を変える等があり、そのやり方を解説しています。