Skip to main content

Configuration de la messagerie pour les notifications

Pour permettre aux utilisateurs de répondre facilement et rapidement aux activités sur GitHub Enterprise Server, vous pouvez configurer votre instance GitHub Enterprise Server afin d’envoyer des notifications par e-mail pour les problèmes, les demandes de tirage et les commentaires de commit.

Qui peut utiliser cette fonctionnalité ?

Site administrators can configure email for notifications.

Configuration de SMTP pour votre entreprise

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.
  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.
  3. Dans la barre latérale «  Administrateur de site », cliquez sur Management Console .
  4. Dans la barre latérale « Paramètres », cliquez sur E-mail.
  5. Sélectionnez Activer l’e-mail. Cela permet d’activer les e-mails sortants et entrants. Cependant, vous devez aussi configurer vos paramètres DNS, comme décrit ci-dessous dans « Configuration des paramètres DNS et de pare-feu pour autoriser les e-mails entrants ».
  6. Tapez les paramètres de votre serveur SMTP.
    • Dans le champ Adresse du serveur, tapez l’adresse de votre serveur SMTP.
    • Dans le champ Port, tapez le port utilisé par votre serveur SMTP pour l’envoi d’e-mail.
    • Dans le champ Domaine, tapez le nom de domaine que votre serveur SMTP enverra avec une réponse HELO, le cas échéant.
    • Sélectionnez la liste déroulante Authentification, puis choisissez le type de chiffrement utilisé par votre serveur SMTP.
    • Dans le champ Adresse e-mail sans réponse, tapez l’adresse e-mail à utiliser dans les champs De et À pour tous les e-mails de notification.
  7. Si vous souhaitez ignorer tous les e-mails entrants qui sont adressés à l’adresse e-mail sans réponse, sélectionnez Ignorer les e-mails adressés à l’adresse e-mail sans réponse.
  8. Sous Support, sélectionnez un type de lien pour offrir un support supplémentaire à vos utilisateurs.
    • E-mail : Adresse e-mail interne.
    • URL : Lien vers un site de support interne. Vous devez inclure http:// ou https://.
  9. Testez la remise d’e-mail.

Test de la remise d’e-mail

  1. En haut de la section E-mail, cliquez sur Tester les paramètres d’e-mail.

  2. Sous « Envoyer un e-mail de test à », tapez une adresse à laquelle envoyer l’e-mail de test.

  3. Cliquez sur Envoyer l’e-mail de test.

    Conseil : Si des erreurs SMTP se produisent pendant l’envoi d’un e-mail de test (par exemple, un échec de remise immédiate ou une erreur de configuration du courrier sortant), elles apparaissent dans la boîte de dialogue Paramètres de l’e-mail de test.

  4. Si l’e-mail de test échoue, corrigez vos paramètres d’e-mail.

  5. Lorsque l’e-mail de test réussit, sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.

  6. Attendez la fin de l’exécution de la configuration.

Mise en application de TLS pour les connexions SMTP

Vous pouvez appliquer le chiffrement TLS pour toutes les connexions SMTP entrantes, ce qui peut vous aider à répondre à une condition de certification ISO-27017.

  1. À partir d’un compte d’administration sur GitHub Enterprise Server, cliquez sur en haut à droite de n’importe quelle page.

  2. Si vous ne figurez pas déjà sur la page « Administrateur du site », dans le coin supérieur gauche, cliquez sur Administrateur du site.

  3. Dans la barre latérale «  Administrateur de site », cliquez sur Management Console .

  4. Dans la barre latérale « Paramètres », cliquez sur E-mail.

  5. Sous « Authentification », sélectionnez Appliquer l’authentification TLS (recommandé) .

    Capture d’écran de la section « E-mail » de la console de gestion. Une case à cocher, intitulée « Appliquer l’authentification TLS (recommandé) », est indiquée en orange foncé.

  6. Sous la barre latérale « Paramètres », cliquez sur Enregistrer les paramètres.

    Remarque : l’enregistrement des paramètres dans la Management Console redémarre les services système, ce qui peut entraîner un temps d’arrêt visible pour l’utilisateur.

  7. Attendez la fin de l’exécution de la configuration.

Configuration des paramètres DNS et de pare-feu pour autoriser les e-mails entrants

Si vous souhaitez autoriser les réponses par e-mail aux notifications, vous devez configurer vos paramètres DNS.

  1. Vérifiez que le port 25 de l’instance est accessible à votre serveur SMTP.
  2. Créez un enregistrement A qui pointe vers reply.[hostname]. Selon la configuration de votre fournisseur DNS et de l’hôte de votre instance, vous pourrez peut-être créer un enregistrement A unique qui pointe vers *.[hostname].
  3. Créez un enregistrement MX qui pointe vers reply.[hostname] de sorte que les e-mails adressés à ce domaine soient routés vers l’instance.
  4. Créez un enregistrement MX qui fait pointer noreply.[hostname] vers [hostname] de sorte que les réponses à l’adresse cc dans les e-mails de notification soient routés vers l’instance. Pour plus d’informations, consultez « Configuration des notifications ».

Résolution des problèmes de remise d’e-mail

Créer un bundle de support

Si vous ne pouvez pas déterminer l’origine du problème à la lecture du message d’erreur affiché, vous pouvez télécharger un bundle de support contenant l’intégralité de la conversation SMTP entre votre serveur de messagerie et GitHub Enterprise Server. Une fois que vous avez téléchargé et extrait le bundle, examinez l’ensemble du journal de conversation SMTP et les erreurs associées dans les entrées de enterprise-manage-logs/unicorn.log.

Vous devriez trouver dans le journal unicorn une transaction comparable à celle-ci :

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"

Voici ce que ce journal révèle de l’appliance :

  • Elle a ouvert une connexion avec le serveur SMTP (Connection opened: smtp.yourdomain.com:587).
  • Elle a réussi à établir une connexion et a choisi d’utiliser TLS (TLS connection started).
  • Le type d’authentification login a été utilisé (<- "AUTH LOGIN\r\n").
  • Le serveur SMTP a rejeté l’authentification comme étant non valide (-> "535-5.7.1 Username and Password not accepted.).

Vérifier les journaux de votre instance GitHub Enterprise Server

Si vous avez besoin de vérifier que votre e-mail entrant fonctionne, vous pouvez passer en revue /var/log/mail.log et /var/log/mail-replies/metroplex.log sur votre instance.

/var/log/mail.log vérifie que les messages parviennent à votre serveur. Voici un exemple de réponse par e-mail ayant abouti :

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]

Notez que le client commence par se connecter, puis la file d’attente devient active. Ensuite, le message est remis, le client est supprimé de la file d’attente, puis la session se déconnecte.

/var/log/mail-replies/metroplex.log indique si les e-mails entrants sont traités pour être ajoutés aux problèmes et aux demandes de tirage comme réponses. Voici un exemple de message ayant abouti :

[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

Vous remarquerez que metroplex intercepte le message entrant, le traite, puis déplace le fichier vers /data/user/incoming-mail/success.

Vérifier vos paramètres DNS

Afin de traiter correctement les e-mails entrants, vous devez configurer un enregistrement A valide (ou CNAME) ainsi qu’un enregistrement MX. Pour plus d’informations, consultez « Configuration des paramètres DNS et de pare-feu pour autoriser les e-mails entrants ».

Vérifier les paramètres du pare-feu ou du groupe de sécurité AWS

Si votre instance GitHub Enterprise Server se trouve derrière un pare-feu ou est servi via un groupe de sécurité AWS, vérifiez que le port 25 est ouvert à tous les serveurs de messagerie qui envoient des e-mails à reply@reply.[hostname].

Contacter le support technique

Si vous ne parvenez toujours pas à résoudre le problème, contactez-nous en visitant Support GitHub Enterprise. Joignez le fichier de sortie de http(s)://[hostname]/setup/diagnostics à votre e-mail pour nous aider à résoudre votre problème.