A última versão do Discourse não está enviando E-mail

Parece que estou tendo um problema com o Discourse enviando e-mails via SMTP.

Verifiquei meu nome de host com meu Provedor de Serviços de E-mail e enviei e-mails com sucesso com Telnet e via sendmail através da VM host, bem como via Telnet dentro do contêiner Docker do Discourse.

Analisei a integração do ‘sendmail’ dentro do contêiner Docker e recebi um erro de ‘nome do host não pôde ser resolvido’ ao enviar e-mails diretamente da CLI.

Para mim, isso significa que não há problemas de comunicação entre a VM e o provedor de serviços SMTP.

Tentei todas as portas SMTP usuais e acredito que a configuração no arquivo app.yml está correta. A VM é Linux 20.04, 24.04 e 22.04 também foram usadas em testes.

A criptografia é com um certificado Let’s Encrypt.

  DISCOURSE_SMTP_ADDRESS: <smtp_provider>
  DISCOURSE_SMTP_PORT:  <port>
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_USER_NAME: apikey
  DISCOURSE_SMTP_PASSWORD: "<secret>"
  DISCOURSE_SMTP_ENABLE_START_TLS: true

Sempre que envio pelo formulário do Discourse, recebo uma mensagem de “execução expirada”.

1 curtida

Verifique os limites do seu provedor de serviço de e-mail. Às vezes, o envio falha quando a cota é atingida. Tente enviar um e-mail do Outlook. Aconteceu comigo uma vez. Seu problema pode ser diferente, mas ainda pode ser útil para alguém.

1 curtida

Se você está recebendo “hostname could not be resolved”, parece que o nome do host não pode ser resolvido, o que é um problema.

O comando rake emails:test[you@somewhere.com] funciona? Veja também Solução de problemas de e-mail em uma nova instalação do Discourse

2 curtidas

Obrigado pelas respostas. Dei uma olhada no fim de semana. Criei uma VM no Digital Ocean e configurei o SMTP com o Brevo. Tudo correu bem. :slight_smile:

Portanto, nada de errado com o Discourse.

Imagino que o Discourse use um GEM Ruby como o NET::smtp para enviar e-mails e que, por padrão, não haja um servidor smtp instalado dentro do contêiner. O problema que estamos enfrentando está em um tenant do Azure.

Para mim, parece que a solicitação para o serviço SMTP externo, ou seja, está sendo bloqueada em algum lugar. Por algum tipo de mecanismo anti-SPAM que fica acima do tenant.

Tenho mais alguns testes para realizar para reduzir isso.

Qualquer informação sobre como o Discourse facilita o envio de e-mails seria ótimo :slight_smile: Sou um novato em Ruby on the Rails.

1 curtida

Mas você configurou o SMTP da mesma forma que fez na instância do Digital Ocean?

O que acontece quando você executa a tarefa rake?

Igual: sem conexão.

Estou usando diferentes retransmissores SMTP em cada instância.

Existem alguns testes que estou executando para validar:

  • Instalar o Discourse via docker-compose localmente
  • Instalar o Discourse em um locatário diferente do Azure sob uma assinatura diferente
  • Validar os retransmissores SMTP Brevo e SendGrid

Atualizarei a postagem após esses testes…

Sem conexão é sem conexão. É bem claro que você está sendo bloqueado pelo firewall.

Talvez tente a porta 2525? Ou pergunte se a porta desejada está sendo bloqueada pelo seu provedor (por exemplo, digital ocean).

@pfaffman Obrigado por ter um tempo para isso. Como aconteceu, o problema estava relacionado ao DNS.

Tudo agora funcionando corretamente :grinning:

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.