Problema ao enviar e-mail via Namecheap Private Email (SMTP) no Discourse auto-hospedado

Olá a todos,

Tenho tentado configurar o e-mail de saída em uma instalação auto-hospedada do Discourse, mas até agora sem sucesso. Mesmo com o suporte da Namecheap envolvido, não conseguimos fazer funcionar. Espero que alguém aqui possa apontar o que estou perdendo.

Configuração

  • Hospedagem: Droplet DigitalOcean, Discourse instalado via método Docker oficial (/var/discourse).

  • Domínio: Gerenciado via Cloudflare (registros A proxy para o site, DNS-only para registros MX/mail).

  • Provedor de e-mail: Namecheap Private Email.

  • Versão do Discourse: Último branch com testes aprovados.

O que funciona

  • Consigo receber e-mails na minha caixa de entrada hello@domain.com sem problemas.

  • Registros DNS MX, SPF, DKIM e DMARC estão configurados e validados.

  • E-mails de entrada via Gmail → hello@domain.com funcionam.

O que falha

  • E-mails de saída (e-mails de ativação, e-mails de teste do Discourse) nunca chegam.

  • O suporte da Namecheap confirmou que minhas credenciais e configurações estão corretas, mas não conseguiu explicar por que falha a partir do servidor.

Configuração atual do app.yml

DISCOURSE_SMTP_ADDRESS: mail dot privateemail dot com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello at domain dot com
DISCOURSE_SMTP_PASSWORD: “PASSWORD”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain dot com
DISCOURSE_NOTIFICATION_EMAIL: hello at domain dot com DISCOURSE_SMTP_AUTHENTICATION: login

Também tentei a porta 465 com:

DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_SSL: true

Passos de depuração realizados

  • Verifiquei se os registros DNS no Cloudflare estão corretos (MX, SPF, DKIM, DMARC).

  • Confirmei que as portas 587 e 465 não estão bloqueadas localmente pelo UFW/iptables.

  • Tentei forçar a preferência IPv4 em /etc/gai.conf.

  • Testei com nc e openssl → ainda com timeout.

  • Até mesmo as próprias instruções da Namecheap (587 STARTTLS ou 465 SSL) resultam em falha a partir do servidor.

Pergunta

Alguém já configurou com sucesso o Namecheap Private Email com o Discourse SMTP?

  • Existe algum problema conhecido com droplets DigitalOcean alcançando mail.privateemail.com nas portas 587/465?

  • Devo desistir do SMTP da Namecheap e usar um serviço de e-mail transacional (Postmark, Mailgun, SendGrid) em vez disso?

  • Existe alguma flag especial no app.yml necessária para este provedor?

Agradeço antecipadamente por qualquer orientação. Cheguei a um beco sem saída com esta configuração.

Você deve usar um serviço de e-mail transacional como Mailgun, Brevo ou Amazon SES. Essa é a maneira ideal de enviar e-mails do seu fórum.

Veja discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub
Você também pode querer conferir:
Troubleshoot email on a new Discourse install

1 curtida

Qual é a mensagem de falha?

O DigitalOcean está bloqueando e-mails de saída, como muitos outros relataram?

Você tentou a porta 2525?

1 curtida

Obrigado pessoal pelas respostas, agradeço muito.

@pfaffman Não estou ciente de que a Digital Ocean esteja bloqueando e-mails de saída. Não, eu não tentei o 2525.

Depois de pesquisar, deparei-me com um artigo que diz que eles bloqueiam todos os e-mails de saída Why is SMTP blocked? | DigitalOcean Documentation

Fiz um pequeno teste com:

nc -vz ``smtp.mailgun.org`` 2525 e passei no teste. 587 e 465 falharam.

Abri um ticket solicitando a abertura dessas portas.

Se eles não abrirem, precisarei verificar o mailgun, espero que seja gratuito.

Se você entrar em contato com o suporte deles para ativação da conta, após alterar a configuração do tipo de plano, você ficará bem em um plano gratuito.

Sempre pensei que isso fosse muito semelhante ao BT Mail ou Gmail, não adequado para Discourse.

Você poderia fazer a verificação POP3 para receber e-mails, mas como você tem um VPS x86, eu recomendaria mail-receiver

1 curtida

A Digital Ocean respondeu e respondeu ao e-mail deles:

"Teríamos prazer em explorar a possibilidade com nossa equipe de segurança analisando mais de perto o desbloqueio das portas SMTP para você. Para nos ajudar a entender melhor suas necessidades e dar andamento à sua solicitação, você poderia compartilhar os seguintes detalhes sobre os requisitos do seu negócio:

  • Que tipo de e-mails você enviará (por exemplo, transacionais, newsletters, etc.)?

  • Você planeja hospedar seu próprio e-mail ou utilizar um serviço de envio de terceiros?

  • Se possível, forneça contexto sobre seus requisitos de porta e se portas não padrão ou uma API não podem ser usadas.

Assim que tivermos seu retorno, encaminharemos sua solicitação à equipe com todos os detalhes fornecidos."

Nesse caso, você deve mudar para usar um serviço de e-mail transacional como Mailgun (100 e-mails grátis por dia) ou Brevo (300 e-mails grátis por dia). Então, você pode mudar para usar a porta 2525 no seu arquivo app.yml, já que ela não é bloqueada.

2 curtidas

Saudações do Suporte DigitalOcean!

Entendemos que você tem um requisito de aplicativo ou uma necessidade de negócios para habilitar as portas 25, 465 e 587. No entanto, devido à nossa política atual, não podemos atender a solicitações para remover a restrição nesta porta.

Recomendamos a utilização de portas alternativas, se o seu aplicativo permitir, como a porta 2525. Você também pode usar a API REST com SendGrid, que permite enviar e-mails via requisições HTTP em vez do protocolo SMTP tradicional, se for adequado para você, ou utilizar outro serviço de envio de terceiros.

Sinta-se à vontade para entrar em contato conosco se tiver mais alguma dúvida. Estamos sempre aqui para você!

Então vou tentar o Mailgun

1 curtida

talvez dar seguimento e dizer que você não precisa de 25?

@Ethsim2 obrigado, acho que está claro, como Linode, eles fecharam tudo para combater spam, apenas o Linode abrirá as portas mediante solicitação, mas tudo bem.

Vou optar pelo MailGun.

2 curtidas

Nunca na minha vida aconteceu de minha conta nova ser bloqueada LOL
“Mailgun: Sua conta está temporariamente desativada.”

Existe algum serviço SMTP alternativo que eu possa usar?

1 curtida