Gmail で OAuth 2.0 を利用した SMTP 認証を設定する
対象バージョン(ソフトウェア版): Movable Type 9.2.0 / 8.8.4 以降
対象バージョン(クラウド版): Movable Type 9.3.0 / 8.8.6 以降
このページでは、Gmail(Google Workspace を含む)の SMTP サーバーを使い、OAuth 2.0 による認証でメールを送信するための設定手順を説明します。Google Cloud の操作に慣れていない方でも設定できるよう、画面ごとに手順を説明します。機能の概要と各設定項目については、OAuth 2.0 を利用した SMTP 認証(Gmail / Outlook)をご覧ください。
この設定では Movable Type 9.3.0 クラウド版で行っています。
2026年10月7日 時点での情報です。Google Cloud コンソールの操作手順は変更される可能性があります。
設定の流れ
- Google Cloud でプロジェクトを作成し、Gmail API を有効にする
- OAuth 同意画面を設定し、テストユーザーを登録する
- クライアント ID とクライアントシークレットを発行する
- Movable Type でトークンを取得する
- メールの送信方法を OAuth 2.0 に切り替える
- テストメールを送信して確認する
事前に確認すること
Google アカウントの2段階認証プロセス
Google Cloud コンソールを利用するには、Google アカウントで2段階認証プロセスを有効にしておく必要があります。有効にしていない場合、Google Cloud コンソールへのアクセスがブロックされることがあります。作業を始める前に、Google アカウントのセキュリティ設定で2段階認証プロセスが有効になっていることを確認してください。
Movable Type の URL
HTTPS でアクセスできる正式なドメインで作業してください。
送信に使う Gmail アドレス
メールの送信元として使う Gmail アドレス(例: info@example.com や example@gmail.com)を決めておきます。Movable Type のシステムメールアドレスにも同じアドレスを設定します。この設定では個人用の Gmail(Google アカウント)で行っています。
チェックリスト
- 送信に使う Google アカウントで2段階認証プロセスが有効になっている
- Movable Type の管理画面に HTTPS でアクセスできる
- Movable Type にシステム管理者としてサインインできる
- スケジュールタスクが定期的に実行されている(トークンの自動更新に必要)
ステップ1: Google Cloud でプロジェクトを作成する
Google Cloud では、設定を「プロジェクト」という単位で管理します。メール送信用のプロジェクトを1つ作成します。
- Google Cloud コンソールに、送信に使う Google アカウントでサインインします。
- 初めてアクセスした場合は同意画面が表示されます、利用規約を確認してチェックを入れ、[同意して続行] をクリックします。
Google Cloud コンソール > 利用規約への同意 - 画面上部の [プロジェクトの選択] をクリックし、[新しいプロジェクト] をクリックします。
Google Cloud コンソール > プロジェクトを選択 - [プロジェクト名] に分かりやすい名前(例:
MT9-SMTP-Mail)を入力し、[作成] をクリックします。
Google Cloud コンソール > 新しいプロジェクト - 作成が終わると、右上に通知が表示されますので[プロジェクトを選択] をクリックします。
Google Cloud コンソール > 通知
Gmail API を有効にする
- 画面上部の検索欄に「Gmail API」と入力し、検索結果の [Gmail API] をクリックします。
Google Cloud コンソール > 検索結果 - [有効にする] をクリックします。
Google Cloud コンソール > Gmail API > 製品の詳細
ステップ2: OAuth 同意画面を設定する
OAuth 同意画面は、Movable Type が Gmail を使ってメールを送信してよいかを確認するときに表示される画面です。ここでアプリの名前や連絡先を設定します。
- 左上のメニュー(≡)から [API とサービス] > [OAuth 同意画面] をクリックします。
Google Cloud コンソール > API とサービス > OAuth 同意画面 - Google Auth Platform の画面が表示されたら [開始] をクリックします。
- [アプリ情報] の [アプリ名] に分かりやすい名前(例:
Movable Type メール送信)を入力し、[ユーザー サポートメール] で送信に使う Gmail アドレスを選択して、[次へ] をクリックします。
Google Auth Platform > 概要 > プロジェクト構成 - [対象] でユーザーの種類を選択し、[次へ] をクリックします。
Google Auth Platform > 概要 > プロジェクト構成 - Google Workspace のアカウントで、同じ組織内のアドレスから送信する場合: [内部]
- 個人の Gmail アカウント(@gmail.com)の場合: [外部]
- [連絡先情報] にメールアドレスを入力し、[次へ] をクリックします。
Google Auth Platform > 概要 > プロジェクト構成 - ユーザーデータに関するポリシーへの同意にチェックを入れ、[続行] > [作成] をクリックします。
Google Auth Platform > 概要 > プロジェクト構成
テストユーザーを登録する([外部] を選択した場合)
ユーザーの種類で [外部] を選択した場合、作成したアプリは「テスト」の状態になります。
- 左側のメニューから [対象] をクリックします。(ステップ2-1 後の画面)
Google Auth Platform > 対象 - テストユーザーの [+ Add users] をクリックします。
- 送信に使う Gmail アドレスを入力し、[保存] をクリックします。
Google Auth Platform > 対象 > ユーザーを追加
テストユーザーを登録しないと、ステップ4でトークンを取得するときに「アクセスをブロック」「403 エラー: access_denied」と表示され、認証できません。
Google の仕様により、公開ステータスが「テスト」のアプリで取得したトークンは、7日で失効します。失効すると、トークンの定期更新を有効にしていてもメールを送信できなくなるため、再度トークンの取得が必要です。継続して運用する場合は、Google Workspace のアカウントで [内部] を選択することをおすすめします。
ステップ3: クライアント ID とクライアントシークレットを発行する
Movable Type が Google に接続するための ID とパスワードにあたる、クライアント ID とクライアントシークレットを発行します。
Movable Type のリダイレクト URI を確認する
先に、Google に登録するリダイレクト URI を Movable Type の管理画面で確認します。
- Movable Type の管理画面に、別のタブでシステム管理者としてサインインします。
- [システム] > [設定] > [Web サービス] をクリックします。
- [Gmail (SMTP OAuth)] セクションの [リダイレクト URI] に表示されている URL をコピーします。
Movable Type システム管理画面 > 設定 > Web サービス
OAuth クライアントを作成する
- Google Cloud コンソールに戻り、左側のメニューから [クライアント] をクリックし、[+ クライアントを作成] をクリックします。
Google Auth Platform > クライアント - [アプリケーションの種類] で [ウェブ アプリケーション] を選択します。
Google Auth Platform > クライアント > クライアントの作成 - [名前] に分かりやすい名前(例:
Movable Type)を入力します。 - [承認済みのリダイレクト URI] の [+ URI を追加] をクリックし、Movable Type からコピーしたリダイレクト URI を貼り付けます。
- [作成] をクリックします。
Google Auth Platform > クライアント > クライアントの作成
クライアント ID とクライアントシークレットを控える
- 作成が終わると、[クライアント ID] と [クライアント シークレット] が表示されます。両方をコピーして控えておきます。
[JSON をダウンロード] をクリックして、ファイルとして保存することもできます。
Google Auth Platform > クライアント > OAuth クライアントを作成しました
クライアントシークレットは、作成した直後の画面でしか確認できない場合があります。必ずこの画面で控えてください。クライアントシークレットは第三者に知られないよう、安全な場所に保管してください。
ステップ4: Movable Type でトークンを取得する
クライアント情報を入力する
- Movable Type の管理画面で、[システム] > [設定] > [Web サービス] をクリックします。
- [Gmail (SMTP OAuth)] セクションの [クライアント ID] と [クライアントシークレット] に、ステップ3で控えた値を入力します。
- [トークンを定期更新する] にチェックを入れます。
Movable Type システム管理画面 > 設定 > Web サービス - ページ下部の[変更を保存] をクリックします。
[トークンを定期更新する] にチェックを入れないと、アクセストークンの有効期限が切れたときにメールを送信できなくなります。必ずチェックを入れてください。
トークンを取得する
- [トークンを取得する] をクリックします。
Movable Type システム管理画面 > 設定 > Web サービス - Google のアカウント選択画面が表示されます。
- 送信に使う Gmail アドレスのアカウントを選択します。
- 「このアプリは Google で確認されていません」と表示された場合は、内容を確認して [続行] をクリックします。
Google でログイン > アクセスの確認 - Movable Type に許可する内容が表示されたら、内容を確認してチェックを入れ [次へ] をクリックします。
Google でログイン > アクセスの確認 - Movable Type の画面に戻り、トークンを取得したことを示すメッセージが表示されることを確認します。
Movable Type システム管理画面 > 設定 > Web サービス
「このアプリは Google で確認されていません」の警告は、Google の審査を受けていない自社用のアプリで表示されるものです。ステップ2で自分で作成したアプリであれば、そのまま進めて問題ありません。
システムメールアドレスを設定する
- Movable Type の [システム] > [設定] > [全般] をクリックします。
- [システムメールアドレス] に、トークンの取得で認証した Gmail アドレスを入力します。
- [変更を保存] をクリックします。
ステップ5: メールの送信方法を OAuth 2.0 に切り替える
最後に、Movable Type のメール送信に OAuth 2.0 を使うよう切り替えます。手順はソフトウェア版とクラウド版で異なります。
ソフトウェア版の場合
mt-config.cgi に次の2行を追加し、設定を反映します。
MailTransfer smtp_oauth
MailSMTPOAuthProvider gmail
OAuth 2.0 による認証を使う場合、SMTPServer、SMTPUser、SMTPPassword の指定は不要です。
クラウド版の場合
- [システム] > [クラウドサービス] > [メール設定] をクリックします。
- [メール送信プログラム] で [SMTPサーバー(Gmail)] を選択します。
Movable Type システム管理画面 > クラウドサービス > メール設定 - [保存] をクリックします。
この切り替えをしないと、OAuth 2.0 の認証を使わずにサーバーから直接メールが送信されます。その場合、Gmail 宛てのメールはなりすましと判定され、届きません。
ステップ6: テストメールを送信して確認する
- [システム] > [設定] > [全般] をクリックします。
- [テストメールの送信先] に受信を確認できるメールアドレスを入力し、テストメールを送信します。
- 入力したメールアドレスでテストメールを受信できることを確認します。※迷惑メールに分類されている場合もあります。
うまくいかないとき
テストメールの送信時に「Mail authentication failed: [Net::SMTPS] Connection closed」と表示される
Google Cloud で設定を変更してから反映されるまで、5〜15分程度かかることがあります。設定をやり直す前に、しばらく時間をおいてからもう一度送信してください。
しばらくするとメールが送信できなくなった
トークンが失効している可能性があります。[システム] > [設定] > [Web サービス] で、もう一度 [トークンを取得する] をクリックしてください。あわせて、次の点を確認してください。
- [トークンを定期更新する] にチェックが入っていること
- スケジュールタスクが定期的に実行されていること
- Google Cloud のアプリの公開ステータスが「テスト」の場合、トークンは7日で失効すること(ステップ2)
参考情報
- OAuth 2.0 によるSMTP認証に対応 〜 トークンの定期更新の仕組みとよくある設定ミスを解説 〜
- Google Cloud コンソールの操作手順は、Google の仕様変更により変更される可能性があります。最新の情報は、Google Developers のドキュメントをご覧ください。
- OAuth 2.0(Google Developers)
- Gmail API(Google Developers)
- OAuth 2.0 for Web Server Applications(Google Developers)
- OAuth 2.0(Google Developers)
