Resource icon

Amazon SES Bounces Support 2021-03-19

No permission to download
Only a hard bounce will return instantly.
And a non-existent email address SHOULD do that... but it doesn't always... classic case is a BS hotmail account I sent to (and I confirmed it did NOT exist, nor did the other 7 I tried). Hotmail returns a mailbox unavailable which is a "soft bounce" in this add-on... but when I was using a direct email account set up in the ACP (hosted via ZoHo), these immediately showed as a hard bounce.

If you want to test a hard bounce, send it to a Gmail account that doesn't exist. That will return instantly.
Hotmail doesn't play well apparently.
Gmail does.

It all has to do with the error that the recipient server returns.
 
Last edited:
If you want to test a hard bounce, send it to a Gmail account that doesn't exist. That will return instantly.

I tested it with a fake gmail account. The bounce comes really instantly. As a hard bounce. Marked in the overview page of the bounce log as a hard bounce (row "action" = "hard bounce") and in the detail page too. See screenshot below.

bounce_log_falsche_gmail_adresse.webp

BUT it does not change the user status!

How can that be? I also ran the cron job for bounces again manually. Nothing changes.

I do find it also strange, why the classification of a fake email address as a hard bounce works only with gmail, but not with a fake random email address with a fake domainname.
 
fake domainname.
Because SES (or any mail server) doesn't know the domain is fake, all it knows is that the DNS lookup is failing.

This could simply be because the domains DNS server is down.

But when you connect to an email server with a fake email address, the server can respond and say for sure "this email account doesn't exist"

BUT it does not change the user status!

How can that be?
Well at this point it becomes a XF issue not this addon one, as once it's showing correctly in the bounce log it already left this addon's control.

Just to confirm it's picking up the right account, as in, you click the email address in the bounce log overview and it does go to the correct user?

1687344041865.webp
 
update: It works now.

I do not not know why, though.

I created a new test user with a new fake gmail address and sent again an email to him. This time, it gave instant hard bounce notification and also changed the user status to "Email invalid (bounced)".

What a relief!

The other test account does not work. Maybe I changed too often the email address of that other test account?

Now we only need to summarize this 6 pages into one posting with a proper step by step manual incl. screenshots, so others have it easier than we did.

Thank you all for your support!
 
I created a new test user with a new fake gmail address and sent again an email to him. This time, it gave instant hard bounce notification and also changed the user status to "Email invalid (bounced)".
Pretty much an issue with how the recipient server responds...HotMail (and probably others) give a return that indicates a soft bounce (mailbox not currently available)
{"notificationType":"Bounce","bounce":{"feedbackId":"01000188dd6ceba1-135626da-10c2-4bb7-a51f-ca7862347d6b-000000","bounceType":"Permanent","bounceSubType":"General","bouncedRecipients":[{"emailAddress":"bugleboycompanyB2@hotmail.com","action":"failed","status":"5.5.0","diagnosticCode":"smtp; 550 5.5.0 Requested action not taken: mailbox unavailable (S2017062302).
whereas Gmail gives a more accurate return of
{"notificationType":"Bounce","bounce":{"feedbackId":"01000188dd70932c-2ce176c7-6b27-419d-bd89-28f11f951747-000000","bounceType":"Permanent","bounceSubType":"General","bouncedRecipients":[{"emailAddress":"bugleboycompanyB2@gmail.com","action":"failed","status":"5.1.1","diagnosticCode":"smtp; 550-5.1.1 The email account that you tried to reach does not exist. Please try\n550-5.1.1 double-checking the recipient's email address for typos or\n550-5.1.1 unnecessary spaces. Learn more at\n550 5.1.1 https://support.google.com/mail/?p=NoSuchUser ke30-20020a056214301e00b006287d6a6befsi1618088qvb.308 - gsmtp"}].
 
Now we only need to summarize this 6 pages into one posting with a proper step by step manual incl. screenshots, so others have it easier than we did

I wrote a new tutorial with some screenshots. I hope I did not forget something. Please proof read it. See attached PDF

With the unsubscribe email address I was not sure whether it should be empty or not. Do you use it? If yes, why?

I still have the alert

-0.249HEADER_FROM_DIFFERENT_DOMAINSFrom and EnvelopeFrom 2nd level mail domains are different

When testing it with mail-tester.com.
 

Attachments

Last edited:
You don't need to verify a sending email address, that's already covered by the domain.

Where it is useful to do that is if you want to send different SNS for different addresses (such as Sendy)

I don't use that so I only have a domain configured.

The unsubscribe address is useful if you want people to be able to stop receiving emails from your site without them needing to go into the admin panel.
 
You don't need to verify a sending email address, that's already covered by the domain.

mmmhhh. Two of us did not get it to work until we verified also the sender email.

Where it is useful to do that is if you want to send different SNS for different addresses (such as Sendy)

That is a good idea. I am also interested in Sendy

The unsubscribe address is useful if you want people to be able to stop receiving emails from your site without them needing to go into the admin panel.

Makes sense then to use it. More convenient for the user
 
The unsubscribe address is useful if you want people to be able to stop receiving emails from your site without them needing to go into the admin panel.

In that scenario, does the unsubscribe email has to be
a) also verified with Amazon SES and
b) select SNS Feedback notifications for it?
 
In that scenario, does the unsubscribe email has to be
a) also verified with Amazon SES and
b) select SNS Feedback notifications for it?
No, it's nothing to do with it.

It's just an extra header added to the email that a mail client will see.
 
update of the tutorial.

Yesterday I installed this addon on 6 different forums. All successful.

Except the alert from mail-tester
-0.249HEADER_FROM_DIFFERENT_DOMAINSFrom and EnvelopeFrom 2nd level mail domains are different
Much appreciated! I've been search and reading for hours trying to find clear & full instructions for how to set up SES with Xenforo. Your guide probably deserves its own thread titled "step-by-step guide for setting up SES with Xenforo".

I noticed mention of Sendy. I tried it recently. Listmonk is a free alternative that is better in many ways, and if you want to go the paid route, Mailwizz is better.
 
I noticed mention of Sendy.

Everything around Sendy is totally independent from this addon in this thread. With this addon, you do not really need Sendy or any other mailing software. You just use the XF core options in combination with Amazon SES and get the automatic bounce reports into XF.

Listmonk is a free alternative that is better in many ways, and if you want to go the paid route, Mailwizz is better.

There are many different mailing list options out there. They all have the same problem: You need to sync somehow the bounces of these mailing software with the XF user database. That is always the bottle neck. Is there a bridge for Listmonk or Mailwizz for XF available?

There is a XF-Sendy bridge from @truonglv, but I had no time yet to test it enough (my forums are setup on the server differently and this is making Sendy a little bit more complicated). Because Sendy itself is a low one time payment and is working with Amazon SES, this would be a very cheap option.

I am sure that there are also other bridges for other mailing list software out there. BUT most mailing list software give you only small free amount email you are allowed to send each month. These numbers change over the time and old postings in the forum are not up to date. The numbers get lower each year. In my view, nobody needs a mailinglist software, if you can send only 500 or 2000 emails for free. Always check the small prints in the terms of use.
 
Last edited:
You just use the XF core options in combination with Amazon SES and get the automatic bounce reports into XF.
The configuration of which can be an adventure it itself.

 
The configuration of which can be an adventure it itself.


This is why I wrote this manual. The only part which is missing in my manual is how to get a domain name and email address verified at Amazon SES. But this has nothing to do with this addon and Amazon has good manuals about it already and youtube is your friend :)

This addon works with Amazon SNS. This a different world to the normal bounce email handling of the core feature of XF. People often mix SNS with email addresses. You do not use bounce email addresses when you use SNS. It is either or, but never both. This was for me the issue I did not understand in my first attempts.
 
Amazon has good manuals about it already and youtube is your friend
Actually.. the Amazon manuals are not that "good" unless you are already familiar with the core requirements.... ;) '
This addon works with Amazon SNS
yes and no... I (and at least one other) found that we actually had to use our site sender identity email instead of the domain identity before it would recognize the bounces. :unsure:

And I'm fairly proficient in setting up servers, MTA's and what-not.
But my point is.. even with Amazon's documentation, if one is not familiar with the terminology, one will QUICKLY get lost.
 
Top Bottom