Difyメール送信設定ガイド:Gmail/Google Workspace SMTPとアプリパスワードを利用する方法

Dify環境構築

Difyコミュニティ版をチームで利用する際、新しいメンバーを招待したり、パスワードリセットを行ったりするためには、メール送信機能の設定が必要です。

DifyはSendGridやResendといったメール送信サービスに対応していますが、ここでは**普段利用しているGmailアカウント(またはGoogle Workspaceアカウント)**をSMTPサーバーとして利用し、Difyからメールを送信できるようにする設定手順を解説します。比較的簡単に設定でき、追加のサービス登録も不要です。

この記事で解説すること:

  1. Googleアカウント側での準備(2段階認証とアプリパスワードの生成)
  2. Dify側での環境変数設定(.env ファイルの編集)
  3. 設定の反映(Difyコンテナの再起動)

前提条件:

  • Difyコミュニティ版がDocker Composeでデプロイされ、正常に動作していること。
  • メール送信用に使用するGoogleアカウント(標準Gmail または Google Workspace)を持っていること。
  • 基本的なLinuxコマンド(cd, vi/nano, docker compose down, up -d)の知識があること。
  • 作業はDifyのソースコードをクローンしたディレクトリ内の docker サブディレクトリで行います (cd dify/docker)。

 

ステップ1: Googleアカウント側での準備 (2段階認証とアプリパスワード生成)

Gmail (または Google WorkspaceのGmail) のSMTPサーバーを外部アプリケーション(Dify)から安全に利用するには、通常のGoogleアカウントパスワードではなく、「アプリパスワード」を使用する必要があります。アプリパスワードを生成するためには、まずGoogleアカウントで2段階認証プロセスが有効になっている必要があります。

【Google Workspace ユーザー向けの注意点】

  • 管理者の設定: Google Workspaceの管理者が、組織全体または特定のユーザーに対して2段階認証プロセスを無効にしていたり、アプリパスワードの使用を禁止している場合があります。以下の手順を進める前に、ご自身の組織のポリシーを確認するか、管理者に問い合わせてください。これらの機能が利用できない場合、このガイドの方法は使用できません。

 

1.1: 2段階認証プロセスを有効にする (未設定の場合)

  1. Googleアカウント (https://myaccount.google.com/) にログインします。
  2. 左側のメニューから「セキュリティ」を選択します。
  3. 「Google へのログイン」セクションにある「2段階認証プロセス」をクリックし、画面の指示に従って設定を完了させます。

 

1.2: アプリパスワードを生成する

  1. 2段階認証プロセスを設定した同じ「セキュリティ」ページに戻ります。
  2. 「Google へのログイン」セクションの「2段階認証プロセス」を再度クリックします。(認証が求められる場合があります)
  3. ページの下部にある「アプリパスワード」をクリックします。(Google Workspaceで管理者によって禁止されている場合、この項目が表示されないか、選択できません
  4. 「アプリを選択」で「その他(名前を入力)」を選びます。
  5. アプリ名に分かりやすい名前(例: Dify Mail)を入力し、「生成」ボタンをクリックします。
    image.png
  6. 黄色の背景に16桁のアプリパスワードが表示されます。このパスワードはこの画面でしか表示されません。必ずコピーして、安全な場所にメモしておいてください。Googleアカウントの通常のパスワードとは異なります。
    image.png
  7. 「完了」をクリックします。

これでGoogleアカウント側の準備は完了です。

 

ステップ2: Dify側での環境変数設定 (.env ファイル)

次に、DifyのDocker環境に、Gmail (または Google WorkspaceのGmail) のSMTPサーバー情報と生成したアプリパスワードを設定します。通常、これらの設定は dify/docker ディレクトリにある .env ファイルで行います。

  1. .env ファイルを開く: dify/docker ディレクトリにある .env ファイルをテキストエディタで開きます。(存在しない場合は cp .env.example .env で作成)
    cd dify/docker
    vi .env # または nano .env
    
  2. メール関連の環境変数を追記または編集: ファイル内にメール関連の設定項目があれば編集し、なければ以下の内容をファイルの末尾などに追記します。メールアドレスはご自身のGmailまたはGoogle Workspaceのアドレスに置き換えてください。
    # --- Mail Settings ---
    # Set mail type, smtp or resend
    MAIL_TYPE=smtp
    
    # Set your default email address for sending emails when using SMTP
    MAIL_DEFAULT_SEND_FROM=your_account@gmail.com # ★ご自身のGmailアドレス or Google Workspaceアドレスに変更
    
    # --- SMTP Settings ---
    # Configure the following settings if MAIL_TYPE is set to smtp
    SMTP_SERVER=smtp.gmail.com
    SMTP_PORT=587
    SMTP_USERNAME=your_account@gmail.com # ★ご自身のGmailアドレス or Google Workspaceアドレスに変更
    SMTP_PASSWORD=xxxxxxxxxxxxxxxx # ★ステップ1で生成した16桁のアプリパスワードに変更 (スペース無し)
    SMTP_USE_TLS=true
    # SMTP_USE_SSL=false # 通常はTLSを使用するためfalseのまま or コメントアウト
    

    【重要】設定項目の解説:

    • MAIL_TYPE: 必ず 'smtp' を指定します。 'resend' などにしないよう注意してください。
    • MAIL_DEFAULT_SEND_FROM: Difyから送信されるメールの「送信元」として表示されるアドレス。ご自身のGmailまたはGoogle Workspaceアドレスを指定します。
    • SMTP_SERVER: 'smtp.gmail.com' を指定します。(Google Workspaceでも共通です
    • SMTP_PORT: '587' を指定します (TLS接続用の標準ポート)。
    • SMTP_USERNAME: ご自身のGmailまたはGoogle Workspaceアドレスを指定します。
    • SMTP_PASSWORD: ステップ1で生成した16桁のアプリパスワードスペースを含めずに入力します。Googleアカウントの通常のパスワードではありません。
    • SMTP_USE_TLS: 'true' を指定し、暗号化通信を有効にします。
  3. ファイルを保存: 編集内容を保存してエディタを終了します (vi なら Esc -> :wq)。

 

ステップ3: Difyコンテナの再起動

環境変数の変更をDifyに反映させるために、Docker Composeを使ってコンテナを再起動する必要があります。

# dify/docker ディレクトリで実行

# 1. 現在のコンテナを停止・削除
sudo docker compose down

# 2. 新しい設定でコンテナを起動
sudo docker compose up -d
  • sudo が不要な場合(Dockerグループに所属している場合)は、sudo を付けずに実行してください。

再起動が完了すれば、DifyからGmail/Google Workspace経由でメールが送信されるようになります。

 

ステップ4: テスト (任意だが推奨)

設定が正しく行われたかを確認するために、実際にメールが送信される機能を試してみることをお勧めします。

  • メンバー招待: Difyの「設定」>「メンバー」から、テスト用のメールアドレス宛に新しいメンバーを招待してみます。招待メールが届けば成功です。
  • パスワードリセット: ログイン画面で「パスワードをお忘れですか?」を試し、パスワードリセット用のメールが届くか確認します。

もしメールが届かない場合は、以下の点を確認してください。

  • .env ファイルの各設定値(特に MAIL_TYPE, SMTP_PASSWORD, SMTP_USERNAME)に誤りがないか?
  • アプリパスワードは正しくコピー&ペーストされているか?(スペースなどが入っていないか?)
  • Googleアカウントの2段階認証は有効になっているか?(Workspaceの場合、管理者に許可されているか?)
  • docker compose downup -d でコンテナを正しく再起動したか?
  • 送信先のメールアドレスで迷惑メールフォルダに入っていないか?
  • Google Workspaceの場合: 管理コンソールでSMTPリレーの設定などが影響していないか確認(通常、アプリパスワード方式では不要ですが、組織のポリシーによる場合があります)。

 

まとめ

これで、Difyコミュニティ版でGmailまたはGoogle WorkspaceのSMTPサーバーを利用してメールを送信できるようになりました。

  • Googleアカウント側: 2段階認証を有効にし、アプリパスワードを生成する(Workspaceは管理者の許可が必要な場合あり)。
  • Dify側: .env ファイルに MAIL_TYPE=smtp を含むSMTP設定と、生成したアプリパスワードを記述する。
  • 反映: docker compose down & up -d で再起動する。

これにより、メンバー招待などの機能が利用可能になり、チームでのDify活用がよりスムーズになります。

コメント

error: Content is protected !!