Skip to main content

通知のためのメール設定

ユーザーが のアクティビティにすばやく応答できるようにするために、お使いの GitHub Enterprise Server インスタンス を設定して、issue、pull request、コミット コメントのメール通知を送信できます。

この機能を使用できるユーザーについて

Site administrators can configure email for notifications.

Enterprise 向けの SMTP を設定する

  1. の管理アカウントから、任意のページの右上隅で をクリックします。
  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
  3. [ サイト管理者] サイドバーで [Management Console] をクリックします。
  4. [設定] サイドバーで [メール アドレス] をクリックします。
  5. [メールを有効にする] を選択します。 これにより、送信メールと受信メールの両方が有効になります。 ただし、受信メールを機能させるには、後の「メール着信を許可する DNS とファイアウォールの設定」で説明されているように DNS の設定を構成する必要もあります。
  6. SMTP サーバーの設定を入力します。
    • [サーバー アドレス] フィールドに SMTP サーバーのアドレスを入力します。
    • [ポート] フィールドに、SMTP サーバーがメールの送信に使用するポートを入力します。
    • [ドメイン] フィールドに、SMTP サーバーから HELO 応答が送信されるドメイン名 (存在する場合) を入力します。
    • [認証] ドロップダウンを選択し、SMTP サーバーで使用される暗号化の種類を選択します。
    • [No-reply メール アドレス] フィールドに、すべての通知メールの [送信元] フィールドと [宛先] フィールドに使用するメール アドレスを入力します。
  7. no-reply メール アドレスへの着信メールをすべて破棄したい場合には、 [no-reply メール アドレスへのメールの破棄] を選択してください。
  8. [サポート] で、ユーザーに追加のサポートを提供するリンクの種類を選択します。
    • [メール]: 内部メール アドレス。
    • [URL]: 内部サポート サイトへのリンク。 http:// または https:// のいずれかを含める必要があります。
  9. メール配信のテスト

メール配信のテスト

  1. [メール] セクションの上部で、 [メール設定のテスト] をクリックします。

  2. [テスト メールの送信先] に、テスト メールを送信するアドレスを入力します。

  3. [テスト メールの送信] をクリックします。

    Tip

    テスト メールの送信中に SMTP エラー (即時配信エラーや送信メール構成エラーなど) が発生した場合は、[Test email settings] ダイアログ ボックスにそれが表示されます。

  4. テスト メールが失敗した場合は、メール設定のトラブルシューティングを行います

  5. テスト メールが成功したら、[設定] サイド バーで [設定の保存] をクリックします。

  6. 設定の実行が完了するのを待ってください。

SMTP 接続への TLS の適用

すべての受信 SMTP 接続に対して TLS 暗号化を適用できます。これは、ISO-27017 認定要件を満たすのに役立ちます。

  1. の管理アカウントから、任意のページの右上隅で をクリックします。

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

  3. [ サイト管理者] サイドバーで [Management Console] をクリックします。

  4. [設定] サイドバーで [メール アドレス] をクリックします。

  5. [認証] で、 [TLS 認証の強制 (推奨)] を選びます。

    管理コンソールの [メール] セクションのスクリーンショット。 [TLS 認証の強制 (推奨)] というラベルの付いたチェック ボックスが、濃いオレンジ色の枠線で囲まれています。

  6. [設定] サイドバーで [設定の保存] をクリックします。

    Note

    [Management Console] で設定を保存すると、システム サービスが再起動され、ユーザーにわかるダウンタイムが発生する可能性があります。

  7. 設定の実行が完了するのを待ってください。

メール着信を許可する DNS とファイアウォールの設定

通知へのメールでの返信を許可したいなら、DNSを設定しなければなりません。

  1. インスタンスのポート25がSMTPサーバにアクセスできることを確認してください。
  2. reply.[hostname] を指す A レコードを作成します。 DNS プロバイダーとインスタンスのホスト設定によっては、代わりに *.[hostname] を指す単一の A レコードを作成できる場合があります。
  3. reply.[hostname] を指す MX レコードを作成して、このドメインへのメールがインスタンスにルーティングされるようにしてください。
  4. noreply.[hostname][hostname] を指す MX レコードを作成し、通知メール内の cc アドレスへの応答がインスタンスにルーティングされるようにしてください。 詳しくは、「通知を設定する」をご覧ください。

メール配信のトラブルシューティング

サポート バンドルの作成

表示されたエラー メッセージから何が問題なのかを判断できない場合は、メール サーバーと GitHub Enterprise Server の間の SMTP 会話全体を含むサポート バンドルをダウンロードできます。 バンドルをダウンロードして展開したら、enterprise-manage-logs/unicorn.log のエントリをチェックし、SMTP 会話全体のログと関連するエラーを確認してください。

unicornログは以下のようなトランザクションになっているはずです。

This is a test email generated from https://10.0.0.68/setup/settings
Connection opened: smtp.yourdomain.com:587
-> "220 smtp.yourdomain.com ESMTP nt3sm2942435pbc.14\r\n"
<- "EHLO yourdomain.com\r\n"
-> "250-smtp.yourdomain.com at your service, [1.2.3.4]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-STARTTLS\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250 PIPELINING\r\n"
<- "STARTTLS\r\n"
-> "220 2.0.0 Ready to start TLS\r\n"
TLS connection started
<- "EHLO yourdomain.com\r\n"
-> "250-smtp.yourdomain.com at your service, [1.2.3.4]\r\n"
-> "250-SIZE 35882577\r\n"
-> "250-8BITMIME\r\n"
-> "250-AUTH LOGIN PLAIN XOAUTH\r\n"
-> "250-ENHANCEDSTATUSCODES\r\n"
-> "250 PIPELINING\r\n"
<- "AUTH LOGIN\r\n"
-> "334 VXNlcm5hbWU6\r\n"
<- "dGhpc2lzbXlAYWRkcmVzcy5jb20=\r\n"
-> "334 UGFzc3dvcmQ6\r\n"
<- "aXRyZWFsbHl3YXM=\r\n"
-> "535-5.7.1 Username and Password not accepted. Learn more at\r\n"
-> "535 5.7.1 http://support.yourdomain.com/smtp/auth-not-accepted nt3sm2942435pbc.14\r\n"

このログからは、アプライアンスについて以下のことが分かります。

  • SMTP サーバーとの接続をオープンしました (Connection opened: smtp.yourdomain.com:587)。
  • 接続に成功し、TLS の使用を選択しました (TLS connection started)。
  • login 認証の型が実行されました (<- "AUTH LOGIN\r\n")。
  • SMTP サーバーが認証を無効として拒否しました (-> "535-5.7.1 Username and Password not accepted.)。

お使いの GitHub Enterprise Server インスタンス ログのチェック

受信メールが機能していることを確認する必要がある場合は、インスタンスで /var/log/mail.log/var/log/mail-replies/metroplex.log を確認できます。

/var/log/mail.log は、メッセージがサーバーに到達していることを確認します。 以下は、成功したメールの返信の例です:

Oct 30 00:47:18 54-171-144-1 postfix/smtpd[13210]: connect from st11p06mm-asmtp002.mac.com[17.172.124.250]
Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: 51DC9163323: client=st11p06mm-asmtp002.mac.com[17.172.124.250]
Oct 30 00:47:19 54-171-144-1 postfix/cleanup[13216]: 51DC9163323: message-id=<b2b9c260-4aaa-4a93-acbb-0b2ddda68579@me.com>
Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: from=<tcook@icloud.com>, size=5048, nrcpt=1 (queue active)
Oct 30 00:47:19 54-171-144-1 postfix/virtual[13217]: 51DC9163323: to=<reply+i-1-1801beb4df676a79250d1e61e54ab763822c207d-5@reply.ghe.tjl2.co.ie>, relay=virtual, delay=0.12, delays=0.11/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: removed
Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: disconnect from st11p06mm-asmtp002.mac.com[17.172.124.250]

クライアントがまず接続し、続いてキューがアクティブになっていることに注意してください。 そしてメッセージが配信され、クライアントがキューから削除され、セッションが切断されています。

/var/log/mail-replies/metroplex.log は、インバウンドのメールが issue や pull requet に返信として追加されるよう処理されているかどうかを示します。 以下は成功したメッセージの例です:

[2014-10-30T00:47:23.306 INFO (5284) #] metroplex: processing <b2b9c260-4aaa-4a93-acbb-0b2ddda68579@me.com>
[2014-10-30T00:47:23.333 DEBUG (5284) #] Matched /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie
[2014-10-30T00:47:23.334 DEBUG (5284) #] Moving /data/user/mail/reply/new/1414630039.Vfc00I12000eM445784.ghe-tjl2-co-ie => /data/user/incoming-mail/success

metroplex が受信メッセージをキャッチし、それを処理し、ファイルを /data/user/incoming-mail/success に移動することがわかります。

DNS設定の検証

インバウンドのメールを適切に処理するには、適切にAレコード(あるいはCNAME)と共にMXレコードを設定しなければなりません。 詳しくは、「着信メールを許可するための DNS とファイアウォールの設定の構成」をご覧ください。

ファイアウォールまたは AWS セキュリティ グループの設定のチェック

お使いの GitHub Enterprise Server インスタンス がファイアウォールの背後にあったり、AWS セキュリティ グループを通じて提供されていたりするなら、reply@reply.[hostname] にメールを送信するすべてのメール サーバーに対してポート 25 が開いていることを確かめてください。

サポートにお問い合せください

依然として問題が解決できない場合は、GitHub Enterprise サポート からお問い合わせください。 問題のトラブルシューティングに役立つ http(s)://[hostname]/setup/diagnostics からの出力ファイルをメールに添付してください。