Configurar notificações de e-mail
Para agilizar a resposta dos usuários em relação às atividades no GitHub Enterprise Server, você pode configurar a sua instância para enviar notificações por e-mail sobre problemas, pull requests e comentários de commit, além de configurações adicionais para permitir respostas a e-mails recebidos. Os e-mails de notificação serão enviados se houver atividades no repositório em que o usuário estiver participando, se houver atividades em pull requests ou problemas em que ele esteja envolvido, ou se houver @menções ao usuário ou à equipe da qual ele é integrante.
Neste guia
- Configurar SMTP
- Configurar DNS e firewall para o recebimento de e-mails
- Testar a entrega de e-mails
- Resolver problemas na entrega de e-mails
Configurar SMTP
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Console de gerenciamento.
-
Na parte superior da página, clique em Settings (Configurações).
-
Na barra lateral esquerda, clique em Email.
-
Selecione Enable email (Habilitar e-mail). Fazer isso vai habilitar os e-mails enviados (saída) e recebidos (entrada). No entanto, para que o recebimento de e-mails funcione, você terá que definir suas configurações de DNS conforme descrito em "Configurar o DNS e o firewall para o recebimento de e-mails".
-
Defina as configurações do seu servidor de e-mail:
- No campo Server address (Endereço do servidor), digite o endereço do seu servidor SMTP.
- No campo Port (Porta), digite a porta que o servidor SMTP usa para enviar e-mails.
- No campo Domain (Domínio), digite o nome do domínio que o servidor SMTP enviará com resposta HELO, se houver.
- No menu suspenso Authentication (Autenticação), escolha o tipo de criptografia usado pelo servidor SMTP.
- No campo No-reply email address (Endereço de e-mail no-reply), digite o endereço de e-mail para usar nos campos De e Para em todos os e-mails de notificação.
Note: If you select the Send from author checkbox in a repository’s Services email webhook, outbound email for that repository will send from the author and not from the no-reply email address. Para obter mais informações, consulte "Sobre notificações do serviço de e-mail para pushes no seu repositório".
-
Se você quiser descartar todos os e-mails recebidos destinados ao endereço no-reply, selecione Discard email addressed to the no-reply email address (Descartar e-mails recebidos no endereço no-reply).
-
Em Support (Suporte), escolha um tipo de link para dar suporte adicional aos usuários:
- Email: endereço de e-mail interno.
- URL: link para um site interno de suporte. Você deve incluir
http://
ouhttps://
.
Configurar DNS e firewall para o recebimento de e-mails
Se quiser permitir o recebimento de respostas para os e-mails de notificação, você deverá definir suas configurações DNS.
- A porta 25 da instância deve estar acessível para o seu servidor SMTP.
- Crie um registro A que aponte para
reply.[hostname]
. Dependendo do provedor DNS e da configuração do host da instância, você poderá criar um único registro A que aponte para*.[hostname]
. - Crie um registro MX que aponte para
reply.[hostname]
, de forma que os e-mails desse domínio sejam roteados para a instância. - Crie um registro MX que aponte
noreply.[hostname]
para[hostname]
, de forma que as respostas ao endereçocc
nos e-mails de notificação sejam roteadas para a instância. Para obter mais informações, consulte "Sobre notificações de e-mail".
Com essas definições de DNS, agora você pode testar se a configuração funciona.
Testar a entrega de e-mails
-
Na parte superior da seção Email, clique em Test email settings (Testar configurações de e-mail).
-
No campo Send test email to (Enviar e-mail de teste para), digite um endereço que receberá o e-mail de teste.
-
Clique em Send test email (Enviar e-mail de teste).
Dica: se ocorrerem erros de SMTP durante o envio de um e-mail de teste, como falhas de entrega imediatas ou erros de configuração de e-mail de saída, você os verá na caixa de diálogo Configurações de e-mail de teste.
-
Se houver falha no teste, consulte a solução de problemas das suas configurações de e-mail.
-
Quando o teste for concluído com êxito, clique em Save settings (Salvar configurações) na parte inferior da página.
-
Aguarde a conclusão da execução de suas configurações.
Resolver problemas na entrega de e-mails
Criar um pacote de suporte
Se não conseguir determinar o que houve de errado na mensagem de erro exibida, você pode baixar um pacote de suporte com toda a conversa SMTP entre o seu servidor de e-mail e o GitHub Enterprise Server. Depois de fazer o download e extrair o pacote, verifique as entradas em enterprise-manage-logs/unicorn.log e veja o log completo de conversas SMTP com os erros relacionados.
O log unicorn mostrará uma transação semelhante a esta:
Este é um e-mail de teste gerado em https://10.0.0.68/setup/settings
Conexão aberta: 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 Pronto para começar TLS\r\n"
Conexão TLS iniciada
<- "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 Nome de usuário e senha não aceitos. Saiba mais em\r\n"
-> "535 5.7.1 http://support.yourdomain.com/smtp/auth-not-accepted nt3sm2942435pbc.14\r\n"->->->->->->
Esse log mostra que o appliance:
- Abriu uma conexão com o servidor SMTP (
Conexão aberta: smtp.yourdomain.com:587
); - Fez a conexão com êxito e decidiu usar TLS (
Conexão TLS iniciada
); - A autenticação de
login
foi feita (<- "AUTH LOGIN\r\n"
); - O servidor SMTP rejeitou a autenticação como inválida (
-> "535-5.7.1 Nome de usuário e senha não aceitos.
).
Consultar logs da sua instância do GitHub Enterprise Server
If you need to verify that your inbound email is functioning, there are two logfiles that you can examine on your instance: To verify that /var/log/mail.log and /var/log/mail-replies/metroplex.log.
/var/log/mail.log verifica se as mensagens estão chegando ao seu servidor. Veja um exemplo de resposta de e-mail com êxito:
Oct 30 00:47:18 54-171-144-1 postfix/smtpd[13210]: conectado de 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 (fila ativa)
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 (entregue a maildir)
Oct 30 00:47:19 54-171-144-1 postfix/qmgr[17250]: 51DC9163323: removido
Oct 30 00:47:19 54-171-144-1 postfix/smtpd[13210]: desconectado de st11p06mm-asmtp002.mac.com[17.172.124.250]
Observe que o cliente se conecta e depois a fila fica ativa. Em seguida, a mensagem é entregue, o cliente é removido da fila e a sessão é desconectada.
/var/log/mail-replies/metroplex.log mostra se os e-mails de entrada estão sendo processados para adicionar problemas e pull requests como respostas. Veja um exemplo de mensagem com êxito:
[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
Você verá que metroplex
capta a mensagem de entrada, processa a mensagem e depois move o arquivo para /data/user/incoming-mail/success
.
Verificar as configurações DNS
Para processar corretamente os e-mails de entrada, você deve configurar um registro A válido (ou CNAME) e um registro MX. Para obter mais informações, consulte "Configurar DNS e firewall para o recebimento de e-mails".
Verificar as configurações de firewall ou grupo de segurança do AWS
Se a sua instância do GitHub Enterprise Server estiver atrás de um firewall ou estiver funcionando com um grupo de segurança do AWS, verifique se a porta 25 está aberta para todos os servidores de e-mail que enviam mensagens para reply@reply.[hostname]
.
Entrar em contato com o suporte
Se você não conseguir resolver o problema, entre em contato com o Suporte do GitHub Enterprise ou Suporte do GitHub Premium. Para nos ajudar a resolver a questão, anexe o arquivo de saída de http(s)://[hostname]/setup/diagnostics
ao seu e-mail.