Tendo problemas com e-mails do Migadu

Olá,

Estou tendo problemas ao configurar o Discourse para usar meu servidor SMTP (estou usando o Migadu como servidor de e-mail).

Aqui estão os detalhes que estou usando:

DISCOURSE_SMTP_ADDRESS: "smtp.migadu.com"
DISCOURSE_SMTP_USER_NAME: "community@kloclabs.com"
DISCOURSE_SMTP_PASSWORD: "<senha>"
DISCOURSE_SMTP_ENABLE_START_TLS: true

Esses são os detalhes que uso no meu cliente e funcionam perfeitamente, mas parece haver um problema com o Discourse.

Quando executo ./discourse-doctor, recebo o erro:

500 Comando não reconhecido

Tudo parece estar configurado corretamente; consigo fazer telnet no servidor SMTP sem problemas.

Espero que alguém possa ajudar.

Qual host você está usando?
Você já tentou definir uma porta? (587 ou 2525, dependendo do que seu provedor suporta)

Estou hospedando-o eu mesmo em um servidor dedicado OVH.

Tentei definir a porta como 587 e também adicionei o seguinte à configuração:

DISCOURSE_SMTP_AUTHENTICATION: login

mas ainda sem sucesso. Verifiquei-me como administrador através do terminal e agora estou recebendo um erro diferente:

550 O cabeçalho From não corresponde ao usuário de login

Isso não pode ser. Você deve executar ./discourse-doctor exatamente da mesma forma que executa ./discourse-setup. Você está executando ./discourse-setup para configurar as opções de SMTP ou está editando app.yml manualmente? Você está reconstruindo (ou executando ./launcher destroy app; ./launcher start app após fazer alterações)?

Estou editando o arquivo app.yml manualmente porque estou usando um proxy reverso. Parece que preciso alterar o cabeçalho ‘from’ no e-mail.

Ok, parece que está resolvido agora. Com o Migadu, é necessário ter um cabeçalho ‘from’ correspondente no e-mail, além da autenticação. Adicionar o script de autenticação acima e ir às Configurações de Admin para definir o endereço de remetente para todos os e-mails do sistema parece ter resolvido o problema.

Se mais alguém tiver esse problema, você precisa fazer o seguinte:

  • Acesse a pasta do Discourse: cd /var/discourse
  • Adicione o método de autenticação ao containers/app.yml: DISCOURSE_SMTP_AUTHENTICATION: login
  • Crie manualmente a conta de administrador no terminal, pois você não conseguirá receber o e-mail de verificação. Para isso, execute ./launcher enter app seguido de rake admin:create e siga as etapas apresentadas no terminal.
  • Por fim, vá às Configurações de Admin e altere o e-mail de notificação para o endereço de e-mail que você está tentando autenticar.

Seria mais fácil se no arquivo app.yml fosse possível definir o endereço de remetente, no entanto, não consegui encontrar uma maneira de fazer isso.

Fico feliz que você tenha resolvido! Não acho que já tenha visto isso.

Está bem aqui:

Ou eu simplesmente não consigo ler!.. Uau, obrigado!