Teste de configuração de email antes de iniciar a instalação

A ferramenta discourse-doctor pode enviar um e-mail de teste. Isso também deve ser adicionado à ferramenta discourse-setup. Faça um teste rápido de e-mail para verificar se os dados SMTP que o usuário inseriu funcionam ANTES de configurar toda a pilha de software. Como as notas afirmam, ela ficará inoperante se o e-mail não for configurado corretamente.

Isso pode economizar muito tempo se a pessoa que estiver fazendo a instalação digitar incorretamente até mesmo uma parte dos dados.

Hmm. Parece que é possível fazer um teste SMTP semi-automático como este:

echo Hello world > /tmp/mail.txt
curl -v  smtp://$DISCOURSE_SMTP_ADDRESS:$DISCOURSE_SMTP_PORT  \
  --mail-from noreply@$DISCOURSE_HOSTNAME \
  --mail-rcpt $(echo $DISCOURSE_DEVELOPER_EMAILS | cut -d ',' -f 1) \
  --user $DISCOURSE_SMTP_USER_NAME:"$DISCOURSE_SMTP_PASSWORD" \
  --upload-file /tmp/mail.txt

Então, seria possível fazer um teste assim. Minha preocupação é que haveria um monte de falsos positivos e falsos negativos, mas talvez imprimir um aviso se falhar possa ajudar algumas pessoas.

Talvez uma ideia melhor seria outro script (discourse-mail-check?) que faria um teste rápido e simples como esse se você estiver tendo problemas.

Eu estava apenas esperando ter o teste diretamente após o usuário inserir os detalhes do SMTP. Assim, ele envia um e-mail de teste para um endereço que o usuário fornece e o usuário é perguntado se recebeu o e-mail; se recebeu, a instalação continua. Se não recebeu, ele pode tentar novamente ou alterar a configuração SMTP e tentar novamente.

2 curtidas

como descrito em minha postagem aqui Install Discourse on Amazon Web Services (AWS) with Lightsail, SES, and Route 53 - #4 by wal consegui enviar e-mails de teste antes de executar o script completo discourse-setup usando este método descrito aqui com telnet

notavelmente, usei a porta 587 em vez da 25 mostrada lá, e você precisa ter certeza de codificar em base64 seu nome de usuário e senha SMTP.

Também vinculado nessa postagem está um script que a AWS fornece, que mostra como fazer o mesmo com o comando openssl (link aqui; Creating configuration sets in SES - Amazon Simple Email Service )

se você não estiver usando AWS SES para seu servidor de e-mail, talvez precise ajustar um pouco o script, mas, em geral, acho que um ou ambos devem ser úteis para você verificar o e-mail antes da instalação (foi o que eu fiz)

embora eu concorde que idealmente deveria haver uma maneira de testar o e-mail antes da instalação, acho que pode ser preferível enviá-lo como um script separado e autônomo do Discourse para que você possa executá-lo sem ter que passar por todo o processo de configuração, que pode levar ~10min

1 curtida