見出し画像

Gmailの受信をトリガーに自動返信!n8n × ngrok で作るメール自動化ワークフロー

メール処理を自動化できれば、実業務の大幅な効率化につながります。本記事では、自動ワークフローツール 「n8n」 をローカル環境でセルフホストし、 ngrok を利用して HTTPS 化 することで、Gmail 受信をトリガーに自動返信を実行する仕組み を構築します。費用は無料で実現可能です。



1.システム構成

今回の構成は以下の通りです。

図1. システム構成図
  • ローカル環境上に Dockerコンテナとして n8n をデプロイ

  • ngrok による HTTP → HTTPS のプロトコル変換

  • Google APIs と通信し Gmail の受信および返信処理を実行


2.ngrok の登録

ngrok 公式サイトへアクセスします。

画面1. ngrok サイト画面

アカウント登録後、ログインします。

画面2. ngrokサインイン画面

画面に表示される Your Authtoken をコピーして保存します。

画面3. Your Authtoken画面

3.Docker Desktop のインストール

Docker 公式ページから Docker Desktop をダウンロードしインストール します。

画面4. Dockerダウンロード画面

4.ngrok の起動

ターミナルで以下のコマンドを実行し、ngrok をセットアップします。

brew install ngrok/ngrok/ngrok
ngrok config add-authtoken <Your Authtoken>
ngrok http 5678

表示された Forwarding の https://xxxxxx.ngrok-free.dev をコピーしておきます。

画面5. ngrok画面

5.n8n の起動

別ターミナルで Docker の起動を確認します。

docker --version

以下のようにバージョンが表示されれば準備完了です。

Docker version 28.5.1, build e180ab8

続いて、n8n コンテナを起動します(ポートと HTTPS の変換を指定)。

docker run -it --rm \
  -p 5678:443 \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=yourpassword \
  -e N8N_SECURE_COOKIE=false \
  -e N8N_RUNNERS_ENABLED=true \
  -e N8N_HOST=xxxxxx.ngrok-free.dev \
  -e N8N_WEBHOOK_URL=https://xxxxxx.ngrok-free.dev \
  -e N8N_PROTOCOL=https \
  -e N8N_PORT=443 \
  -v ~/.n8n:/home/node/.n8n \
  n8nio/n8n

ブラウザでアクセスします:

http://localhost:5678/

アカウントを登録しログインします。

画面6. n8n画面

Gmail OAuth2 の設定

+ボタン → Credentials を選択し、
Gmail OAuth2 API を選び Continue をクリックします。

画面7. new credential画面
画面8. OAuth2画面

表示された OAuth Redirect URL をコピーします。


Google Cloud Console の設定

Google Cloud Console を開き、認証情報メニューから
OAuthクライアントIDを作成 → Webアプリケーション を選択

画面9. Google Cloud画面
画面10. OAuthクライアントIDの作成画面
画面11. OAuthクライアントIDの作成画面2

承認済みリダイレクト URI に、先ほどコピーした値をペーストします。

保存後、表示される Client ID と Client Secret を控えておきます。

n8n の設定画面に戻り、2つの値を貼り付けます。
Sign in with Google → アカウント選択 → 接続成功を確認します。

画面12. OAuth2画面
画面13. n8n画面2

6.ワークフロー作成

+ボタン → Workflow を作成
Gmail / On message received を追加します。

画面14. workflow画面
画面15. Gmail Trigger画面
画面16. workflow画面2

次に + ボタン → Gmail / Reply to a message を追加します。

Message ID には左側パネルから id をドラッグ&ドロップ
Message には任意の返信文(例:これは自動返信です。

画面17. Reply画面
画面18. workflow画面3

画面右上の Inactive → Active に変更します。

画面19. workflow画面4

7.動作確認

別メールアカウントから Gmail にテスト送信します。

画面20. テストメール画面

約1分後、 自動返信メールが届けば成功です。

画面21. 自動返信メール画面

まとめ

本記事では、

  • n8n をローカルにコンテナでデプロイ

  • ngrok により HTTPS 化を実現

  • Gmail 受信トリガーを利用し自動返信フローを構築

という流れで、自動メール処理の仕組みを実装しました。

n8n は高い拡張性と柔軟なワークフロー設計が可能な強力な自動化ツールです。
業務効率化のヒントとして、ぜひ試してみてください。

いいなと思ったら応援しよう!