Configurei o Amazon SES.
Estou fora da sandbox, o que significa que posso enviar e-mails para endereços não verificados.
Da documentação do Amazon SES:
Quando sua conta estiver fora da sandbox, você poderá enviar e-mails para qualquer destinatário, independentemente de o endereço ou domínio do destinatário ser verificado. No entanto, você ainda precisará verificar todas as identidades que usar como endereços "De", "Origem", "Remetente" ou "Responder a".
Também configurei minhas credenciais SMTP.
Enviar um e-mail de teste para um destinatário não verificado funciona a partir do painel do Amazon S3 ou de qualquer outra ferramenta de teste SMTP.
Quando envio um e-mail de teste do Discourse, o e-mail é ignorado com esta mensagem de erro:
554 Mensagem rejeitada: Endereço de e-mail não verificado. As seguintes identidades falharam na verificação na região EU-WEST-3: monocycle.info+verp-3a76559e11c2b9a318165af8eb968f22@gmail.com…
E, claro, reconstruí meu aplicativo após alterar o app.yml.
Alguma ideia do porquê esse problema ocorre e como resolvê-lo?
Essa mensagem de erro sugere que você precisa criar uma identidade para monocycle.info@gmail.com e verificá-la. Observe que você não precisa verificar o rótulo (+verp-...), pois todos os rótulos serão aceitos quando o endereço for verificado sem um rótulo.
O motivo é que o endereço de e-mail de resposta é usado como endereço Return-Path, um dos tipos que sua citação destaca como necessitando de verificação.
Não tenho certeza por que enviar das outras maneiras funciona, mas acho que seus testes no painel da Amazon e na ferramenta de teste SMTP provavelmente funcionaram porque eles estavam enviando para seu endereço de e-mail de resposta, em vez de usá-lo como endereço Reply-To/Return-Path como o Discourse faz.
Verifiquei monocycle.info@gmail.com e o Discourse pode enviar e-mails aos usuários. O recurso de responder por e-mail também funciona.
Verificarei nos próximos dias se terei algum problema.
Você pode esclarecer um pouco mais? Em relação ao que acabei de escrever (as coisas parecem funcionar).
A Amazon os chama de rótulos (labels), assumindo que você está se referindo a endereços do tipo usuário+rótulo@domínio, não me lembro se esse é o termo de e-mail ou apenas o termo da Amazon. Você tem certeza de que eles não são suportados? Eles são bastante usados pelos usuários.
A única coisa que encontrei na documentação é que a extensão SMTPUTF8 não é suportada, limitando a parte local (antes do @) a caracteres ASCII de 7 bits. Isso inclui o caractere +.
Tudo bem, minhas respostas podem ser um pouco imprecisas, pois não entendo muito sobre coisas relacionadas a e-mail.
Minha configuração de resposta por e-mail é, de fato, um endereço do Gmail que usa “+” e outras coisas.
Se a configuração responder por e-mail estiver desativada, o envio de e-mails do Discourse funciona (se bem me lembro).
Se a configuração responder por e-mail estiver ativada e eu não verificar o endereço do Gmail no SES, o Discourse não enviará nenhum e-mail, quer tenham um endereço de resposta do Gmail ou não (por exemplo, o e-mail de teste ou um e-mail de resumo não têm o endereço de resposta do Gmail), e gerará um erro 554 Message rejected: Email address is not verified.
Se eu verificar o endereço do Gmail no SES, todos os e-mails enviados pelo Discourse parecem funcionar, quer tenham um endereço de resposta do Gmail ou não.
Claro, eu gostaria de saber um pouco mais sobre como todas essas coisas funcionam, mas contanto que funcione… Essa é minha principal preocupação.