Skip to main content

通知のためのメール設定

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

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

Site administrators can configure email for notifications.

Enterprise 向けの SMTP を設定する

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
  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. [テスト メールの送信] をクリックします。

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

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

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

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

SMTP 接続への TLS の適用

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

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

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

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

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

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

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

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

    注: [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 からの出力ファイルをメールに添付してください。