送信メール設定
Moodleから送信されるメールに関する設定は、サイト管理 > サーバ > メールの「送信メール設定」にあります。
Moodleでは、フォーラム投稿や課題フィードバックなどのシステムメッセージを送信するために、メールサーバが必要です。
サイトからのメール送信
独自のメールアドレス(例:info@yourdomain.com)を使用してこれらのメッセージを送信したい場合は、次の手順に従って外部のメールアカウントを接続できます。
MoodleCloudユーザへの注:デフォルトでは、MoodleCloudサイトはnoreply@yoursite.moodlecloud.comからこれらのメッセージを送信します。MoodleCloudはメールを接続するためのインタフェースを提供しますが、メールサービスをホストするわけではありません。問題が発生した場合は、メールプロバイダに連絡して接続設定を確認してください。
手順の概要
- メールプロバイダから必要な情報を収集する
- カスタムドメインからメールを送信するようにMoodleを設定する
- 自分宛てにテストメールを送信して、動作していることを確認する
ステップ1:メールプロバイダから必要な情報を収集する
カスタムドメインからメールを送信するには、外部のメールサービスが必要です。メールプロバイダから次の詳細情報を入手する必要があります。
- SMTPホスト:メールの送信に使用されるサーバアドレスです。
- ポート番号:接続に使用される番号です(例:465または587)
- セキュリティタイプ:使用される保護の種類です(なし、SSLまたはTLS)
- ユーザ名およびパスワード:メールアカウントのログイン情報です
ステップ2:カスタムドメインからメールを送信するようにMoodleを設定する
メールサーバの詳細情報が揃ったら、管理者としてMoodleサイトにログインし、次の手順に従います。
- サイト管理 > サーバ > メール > 送信メール設定に移動します。
- SMTPホストに続けてポート番号を入力します(例:smtp.example.com:465)。
- ホストから指定された正しいセキュリティタイプを選択します。
- メールアカウントのユーザ名およびパスワードを入力します。
- 「no-replyアドレス」フィールドに、受信者に表示したいメールアドレスを入力します。このアドレスはサブドメインと一致している必要はありません(例:カスタムドメインがlearn.yourdomain.comの場合でも、noreply@yourdomain.comを使用できます)。
- 次のステップに進む前に、ページ下部の「変更を保存する」ボタンをクリックして設定を保存します。

高度な設定
これらの設定は任意であるか、より複雑な構成のためのものです。
- 「許可されたメールドメイン」:フォーラム通知でユーザの実際のアドレスが使用されるよう、メールサーバで許可されているドメインを入力します。
- 複数のドメインにはワイルドカード(例:*.example.com)を、厳密な一致には完全なドメイン(例:example.com)を使用します。
- 設定した場合、メールアドレスがドメインに一致し、かつユーザの表示設定で許可されていれば、Moodleは「From」および「Reply to」にユーザのアドレスを使用します。そうでない場合は、no-replyアドレスを使用します。
- 「メール送信元情報」:「From」セクションに「via」情報を追加します(例:Name (via shortname) <noreplyaddress>)。「shortname」は、サイトホーム設定のサイト省略名です。
- 「SMTP認証タイプ」:Moodleがサーバにログインする方法です。ほとんどのサービスはLOGINまたはPLAINを使用します。
- 「SMTPセッション制限」:システムが接続をリセットするまでに送信されるメールの数です。
- 「文字セット」:メッセージに使用される文字エンコーディングです(標準はUTF-8です)。
注:Google GmailサーバまたはAmazon AWS SESを使用して、送信メール用のSMTPリレーを設定することもできます。例えば、Googleのメールリレー(Gmailアカウントではありません)を使用してMoodleからメールを送信する方法については、こちらの投稿をご覧ください。
ステップ3:自分宛てにテストメールを送信して、動作していることを確認する
ユーザが重要な通知を見逃さないよう、設定が正しいことを確認することが重要です。
- 送信メール設定ページの「送信メール設定をテストする」セクションまでスクロールします。
- 「送信メール設定をテストする」リンクをクリックします。
- 自分のメールアドレスを入力し、「テストメッセージを送信する」をクリックします。
設定が正しく機能していれば、テストメールが届きます。
DKIM
高度なDKIM設定は、通常、postfixなどのMTAで、例えばopendkimのような「milter」を使用して行います。
ただし、メールの送信方法を十分に制御できない場合など、Moodleで直接設定することには利点があります。また、Moodleで設定すると管理が容易になる場合があります。
3.10 / 4.0では、Moodleレベルでメールに署名できる新しい設定が追加されました。この設定では、秘密証明書を準備し、Moodleが見つけられる既知の場所に配置する必要があります。メールはさまざまな「From」メールアドレスから送信される可能性があるため、その場所のパスにはドメインが含まれ、必要な数だけ証明書を用意できますが、これは一般的なユースケースではありません。
最も一般的な設定
最もシンプルで比較的一般的な設定は、すべてのメールがnoreplyメールアドレスから送信される設定です。この設定について、DebianやUbuntuなどのLinux環境での手順を説明します。
$CFG->noreplyaddress = 'noreply@moodle.example.com'
この場合、DKIMセレクタを選択する必要があります。セレクタは任意ですが、定期的にローテーションすることがベストプラクティスであるため、日付に基づいて付けることがよくあります。
例えば、セレクタとして「2020sep」を選択したとします。
次に、sitedataに、DKIM証明書を格納するためのフォルダを、ドメインと一致するサブディレクトリとともに作成する必要があります。
mkdir -p /path/to/sitedata/dkim/moodle.example.com
次に、このディレクトリで、opendkim-genkeyツールを使用して秘密鍵と公開鍵のDNSレコードを生成します。
opendkim-genkey -b 2048 -r -s 2020sep -d moodle.example.com -v
これにより、次のような2つのファイルが作成されます。
/path/to/sitedata/dkim/moodle.example.com/2020sep.txt
/path/to/sitedata/dkim/moodle.example.com/2020sep.private
Moodleが使用するのは.privateファイルのみです。.txtファイルは、DNSに追加する必要があるTXTレコードです。すべてが正しいことを確認するための優れた公開ツールがあり、ドメインとDKIMセレクタを入力すると、レコードが正しい形式になっているかどうかを確認できます。
https://mxtoolbox.com/dkim.aspx
これが完了したら、Moodleのメールテストツールを使用してテストメールを送信します。debugsmtp設定を有効にすると便利な場合があります。
/admin/testoutgoingmailconf.php
メールヘッダにDKIM署名が表示されるはずです。メールを受信したメールサーバでもこの署名が検証され、その検証結果を含む別のヘッダが追加されているはずです。
具体的には、Gmailではメールを開き、右側の「...」をクリックしてから「メッセージのソースを表示」をクリックすると、ヘッダに次のように表示されます。
DKIM: 'PASS' with domain moodle.example.com
ℹ️ システムでopendkim-genkeyコマンドを使用できない場合は、次のような方法を試すこともできます。
mkdir -p dkim/learning.example.com
cd dkim/learning.example.com
openssl genrsa -out learning.private 2048
openssl rsa -in learning.private -outform PEM -pubout -out learning.public
この例では、ドメインを「learning.example.com」、DKIMセレクタを「learning」と想定しています。DKIMセレクタを使用すると、example.comなどの1つのドメイン名で、あるサーバ上で動作するMoodleソフトウェアからはあるキーを使用し、別の場所にある他のソフトウェアからは別のキーを使用して、メールを送信できます。
次に、DKIM用のDNS TXTエントリを作成する必要があります。これには公開鍵のみが必要です。ここではアルゴリズムは示しませんが、一般的なチャットボットに公開鍵を貼り付けてDKIM TXTレコードを作成するよう依頼すれば、正しくフォーマットしてくれることを付け加えておきます。
送信メール設定をテストする
自分宛てにテストメールを送信して、すべてが正しく動作していることを確認するためのリンクがあります。
受信メール設定
サイト管理の「受信メール設定」で受信メール処理が有効になっている場合、ユーザはメールでフォーラム投稿に返信したり、メールの添付ファイルとしてファイルをプライベートファイルに送信したりできます。
メールボックス設定
ここでは専用のメールアドレスを使用することが重要です。個人的なメールに普段使用しているアドレスは使用しないでください。@記号を追加する必要はありません。メールアドレスmountorangeschool@example.comを設定した場合は、次のスクリーンショットのように入力します。

受信メールサーバ設定
例えば、Gmailを使用している場合は、「受信メールサーバ」(messageinbound_host)フィールドにIMAP.gmail.comを使用します(Gmailを使用している場合は、GmailアカウントでIMAPを有効にしていることも確認する必要があります。https://support.google.com/mail/troubleshooter/1668960?hl=en をご覧ください)。
注1:上で設定したメールボックスをホストするSMTPサーバは、プラスアドレスをサポートしている必要があります。つまり、mountorangeschool+blahblahblah@example.comに送信されたメールも、mountorangeschool@example.comに配信される必要があります。
注2:ここで入力するユーザ名とパスワードは、先に「メールボックス設定」で入力した設定に関連するものである必要があります。つまり、アドレスがmountorangeschool@example.comで、ユーザ名がmountorangeschoolの場合は、このセクションにユーザ名を、このメールアカウントへのアクセスに使用するパスワードとともに入力します。
注3:ホストがIMAPポートへの送信接続をブロックしていないことを確認する必要がある場合もあります(一部のホストはデフォルトでブロックしています)。
注4:Gmailを使用している場合、Googleのより高いセキュリティ設定ではIMAPが機能しないことがあります。GmailでIMAPが機能しない場合は、https://support.google.com/accounts/answer/6010255?hl=en-GB を確認し、MDL-61921に記載されている設定手順に従ってください。
メッセージハンドラ
プライベートファイルにメールで送信する
- これを有効にすると、ユーザはメールで添付ファイルを自分のプライベートファイルに直接送信できるようになります。この機能の詳細については、プライベートファイルをご覧ください。
- 各ユーザには、メールと添付ファイルを送信するためのアドレスがプライベートファイルで提供されます。ここでは、このアドレスのデフォルトの有効期限を設定できます。
- 「送信者アドレスを確認する」チェックボックスをオンにすると、Moodleでユーザに登録されているアカウントとは異なるアカウントからユーザのプライベートファイルにメールが送信された場合、Moodleはファイルをユーザのプライベートファイルに保存する前に確認を行います。
無効な送信者ハンドラ
有効なメッセージを受信したものの送信者を認証できない場合、メッセージはメールサーバに保存され、ユーザプロファイルのメールアドレスを使用してユーザに連絡されます。ユーザには、返信して元のメッセージの真正性を確認する機会が与えられます。このハンドラは、これらの返信を処理します。
メールクライアントの設定が正しくない場合、ユーザが誤ったメールアドレスから返信する可能性があるため、このハンドラの送信者確認を無効にすることはできません。
フォーラム投稿に返信する
- これを有効にすると、ユーザはメールの受信トレイからフォーラム投稿に直接返信できるようになります。この機能の詳細については、フォーラムの使用の「メールによる投稿への返信」セクションをご覧ください。
- サイト管理 > サーバ > メール > 送信メール設定 > 許可されたメールドメイン設定は空のままにする必要があります。そうしないと、ユーザには代わりにフォーラム投稿者のメールアドレスが表示されます。
- 各ユーザには、メールでフォーラム投稿に返信するためにクリックしたときに、返信先アドレスが提供されます。ここでは、このアドレスのデフォルトの有効期限を設定できます。
関連項目
- フォーラムの「投稿に返信する」機能の設定についてのヘルプが必要フォーラムディスカッション