Difyコミュニティ版をチームで利用する際、新しいメンバーを招待したり、パスワードリセットを行ったりするためには、メール送信機能の設定が必要です。
DifyはSendGridやResendといったメール送信サービスに対応していますが、ここでは**普段利用しているGmailアカウント(またはGoogle Workspaceアカウント)**をSMTPサーバーとして利用し、Difyからメールを送信できるようにする設定手順を解説します。比較的簡単に設定でき、追加のサービス登録も不要です。
この記事で解説すること:
- Googleアカウント側での準備(2段階認証とアプリパスワードの生成)
- Dify側での環境変数設定(
.envファイルの編集) - 設定の反映(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段階認証プロセスを有効にする (未設定の場合)
- Googleアカウント (https://myaccount.google.com/) にログインします。
- 左側のメニューから「セキュリティ」を選択します。
- 「Google へのログイン」セクションにある「2段階認証プロセス」をクリックし、画面の指示に従って設定を完了させます。


1.2: アプリパスワードを生成する
- 2段階認証プロセスを設定した同じ「セキュリティ」ページに戻ります。
- 「Google へのログイン」セクションの「2段階認証プロセス」を再度クリックします。(認証が求められる場合があります)
- ページの下部にある「アプリパスワード」をクリックします。(Google Workspaceで管理者によって禁止されている場合、この項目が表示されないか、選択できません)

- 「アプリを選択」で「その他(名前を入力)」を選びます。
- アプリ名に分かりやすい名前(例:
Dify Mail)を入力し、「生成」ボタンをクリックします。

- 黄色の背景に16桁のアプリパスワードが表示されます。このパスワードはこの画面でしか表示されません。必ずコピーして、安全な場所にメモしておいてください。Googleアカウントの通常のパスワードとは異なります。

- 「完了」をクリックします。
これでGoogleアカウント側の準備は完了です。
ステップ2: Dify側での環境変数設定 (.env ファイル)
次に、DifyのDocker環境に、Gmail (または Google WorkspaceのGmail) のSMTPサーバー情報と生成したアプリパスワードを設定します。通常、これらの設定は dify/docker ディレクトリにある .env ファイルで行います。
.envファイルを開く:dify/dockerディレクトリにある.envファイルをテキストエディタで開きます。(存在しない場合はcp .env.example .envで作成)cd dify/docker vi .env # または nano .env- メール関連の環境変数を追記または編集: ファイル内にメール関連の設定項目があれば編集し、なければ以下の内容をファイルの末尾などに追記します。メールアドレスはご自身の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'を指定し、暗号化通信を有効にします。
- ファイルを保存: 編集内容を保存してエディタを終了します (
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 downとup -dでコンテナを正しく再起動したか?- 送信先のメールアドレスで迷惑メールフォルダに入っていないか?
- Google Workspaceの場合: 管理コンソールでSMTPリレーの設定などが影響していないか確認(通常、アプリパスワード方式では不要ですが、組織のポリシーによる場合があります)。
まとめ
これで、Difyコミュニティ版でGmailまたはGoogle WorkspaceのSMTPサーバーを利用してメールを送信できるようになりました。
- Googleアカウント側: 2段階認証を有効にし、アプリパスワードを生成する(Workspaceは管理者の許可が必要な場合あり)。
- Dify側:
.envファイルにMAIL_TYPE=smtpを含むSMTP設定と、生成したアプリパスワードを記述する。 - 反映:
docker compose down&up -dで再起動する。
これにより、メンバー招待などの機能が利用可能になり、チームでのDify活用がよりスムーズになります。


コメント