I’ve configured Amazon SES.
I’m out of the sandbox, which means I can send emails to unverified addresses.
From Amazon SES doc:
When your account is out of the sandbox, you can send email to any recipient, regardless of whether the recipient’s address or domain is verified. However, you still have to verify all identities that you use as “From”, “Source”, “Sender”, or “Return-Path” addresses…
I’ve also configured my SMTP credentials.
Sending a test email to an unverified recipient email works from the Amazon S3 dashboard or any other SMTP test tool.
When I send a test email from Discourse, the mail is skipped with this error message:
554 Message rejected: Email address is not verified. The following identities failed the check in region EU-WEST-3: monocycle.info+verp-3a76559e11c2b9a318165af8eb968f22@gmail.com…
And I have of course rebuilt my app after changing app.yml.
Any idea why this issue occurs, and how to resolve it?
That error message suggests that you need to create an identity for monocycle.info@gmail.com and verify it. Note that you don’t need to verify the label (+verp-...) as all labels will be accepted when the address is verified without a label.
The reason for this is that the reply by email address is used as a Return-Path address, one of the types your quote highlights as needing to be verified.
I’m not sure why sending in the other ways works but I think your Amazon dashboard and SMTP test tool tests probably worked because they were sending to your reply by email address, rather than using it as the Reply-To/Return-Path address as Discourse does.
I’ve verified monocycle.info@gmail.com and Discourse can send emails to users. The reply by email feature also works.
I’ll see in the next days if I have any trouble.
Can you clarify a bit more? In regard to what I just wrote (things seem to work).
Amazon call them labels, assuming you’re referring to user+label@domain addresses, I don’t remember if that’s the email term or just Amazon’s term. Are you sure these are unsupported? They are pretty commonly used by users.
The only thing I can find in the documentation is that the SMTPUTF8 extension is unsupported, limiting the local part (before @) to 7-bit ASCII characters. That includes the + character.
Oh well, my replies can be a bit off since I don’t understand much email-related things.
My reply-by-email setting is indeed a gmail address that uses “+” and stuff.
If the reply to by email setting is off, then Discourse email sending works (if I remember well).
If the reply to by email setting is on, and if I don’t verify the gmail address in SES, then Discourse won’t send any emails, whether they have a gmail reply-to address or not (for example, the test email, or a digest email don’t have the gmail reply-to address), and throw a 554 Message rejected: Email address is not verified error.
If I verify the gmail address on SES, then all the emails sent by Discourse seem to work, whether they have a gmail reply-to address or not.
Of course, I’d like to know a bit more about how all these things work, but as long as it works… That’s my primary concern.