Handling bouncing e-mails


@mpalmer Thanks for the suggestion but I’m not a developer unfortunately, I was just asking if they were handled or not. I assumed it was a given seeing the complaints appear to be sent via the same method as bounces. All legit SMTP services will have some method to access your spam complaints.

Here is an excerpt from Amazon SES:


Most email client programs provide a button labeled “Mark as Spam,” or similar, which moves the message to a spam folder, and forwards it to the ISP. Additionally, most ISPs maintain an abuse address (e.g., abuse@example.net), where users can forward unwanted email messages and request that the ISP take action to prevent them. In both of these cases, the recipient is making a complaint. If the ISP concludes that you are a spammer, and Amazon SES has a feedback loop set up with the ISP, then the ISP will send the complaint back to Amazon SES. When Amazon SES receives such a complaint, it forwards the complaint to you either by email or by using an Amazon SNS notification, depending on how you have your system set up. For more information, see Monitoring Using Amazon SES Notifications. We recommend that you do not make repeated delivery attempts to email addresses that generate complaints.


(Matt Palmer) #64

Discourse handles bounces. Most other things are a function of your e-mail service provider, and how Discourse integrates with that e-mail service provider, as demonstrated by the fact that you’re quoting from the documentation of an e-mail service provider.


Not exactly sure what you mean, bounce reporting is also a standard feature of all legit ESPs and Discourse integrates with those ESPs.

The main metrics of a healthy account are bounce rate and spam complaints. Spam complaints handling is standard practice like bounces, ask any email specialist.

The spam complaint data is usually available in exactly the same way that bounce data is available, webhook, api, VERP/email etc.

It is objectively better to handle spam complaints than to ignore spam complaints and continue sending mail to addresses who have marked your emails as spam like a barbarian (lol). It would help guarantee strong inboxing rates for all niches as well.

(Michał Frąckiewicz) #66

I think that in AWS SES case, the most simple solution is AWS SNS webhook integration as I mentioned before

(Matt Palmer) #67

In that case, Discourse handles it. Case closed.


Not sure what the purposes of your replies are. I suggested bounce handling for Discourse in mid 2015 and at that time was manually exporting logs of both bounces and spam complaints from Mandrill to manually handle them by deactivating users.

You can realise that spam complaint handling is a good feature now or later, up to you. Anyhow, I wasn’t even requesting this to be added. I simply asked if it was handled or not so I can handle it via other means if not. I stuck around to contribute knowledge on something I know a lot about when I was asked to elaborate.

One of the most important rules for emailing is to not continue mailing addresses that have marked your emails as spam, there is a reason for the feedback loops, it’s one step worse than unsubscribing. That’s how you get your emails out of the inbox and into the spam box. Spammers ignore spam complaints.

(Kane York) #69

I think the problem here is that Discourse, after a few years of sending their own email, has gotten… very few automated-form spam complaints. (Correct me if I’m wrong.) There isn’t exactly a standard behavior that could be added into the software, and people are actively discouraged from using Amazon to send their emails so there’s very little incentive to implement their custom solution.

Part of this is, of course, the functional and helpful granular unsubscribe links. A Discourse notification doesn’t really feel 100% unsolicited - you DID go to the site in the past and sign up - so people are more willing to use an unsubscribe link than go straight to a complaint.

(Jeff Atwood) #70

Yes, this is still on @zogstrip’s list but it may be into 2019 until we get to it.

The main thrust of it @riking is automatically disabling email to people whose emails are bouncing. We added a PM in 2.1 to warn people when this is happening – assuming they’re logging into the website, even if their email is totally busted.

(Because if your email is busted, good luck if you ever happen to “forget” your password, right?)

(Michał Frąckiewicz) #71

Could you provide source?
SES is one of the most cheap services like that and seems reliable.
Mailgun logs in their panel all emails, it’s not always wanted solution.

You are right, but there are other bounces like deactivated email accounts which will come up to admins after few years of any site activity for most cases.

Thanks for info :slight_smile:

(Jay Pfaffman) #72

Is there a reason not to also add webhooks for “Spam Complaints” and “Unsubscribes”?

(Jeff Atwood) #73

Unsubscribe headers are already present in the emails, view source on the emails to see them.

(Jay Pfaffman) #74

You have a lot more faith in MUAs than I do.

That said, I’m guessing that the unsubscribes that Mailgun is referring to is if people click an unsubscribe on one of there mailing list messages, so it’s probably not a good idea.

I’m still wondering about “Spam Complaints”. I’m not clear if that’s from links that Mailgun adds or if it it bubbles upstream from the user’s MUA/mail service.

(Jeff Atwood) #75

Here’s the official standard unsubscribe email header, view source to see it. It’s in every email Discourse sends.

List-Unsubscribe: <https://bbs.nextthing.co/email/unsubscribe/eef3a14de5723d69cb63673ffaccb5345650bdf12066655f96e5c2f08bfac94c>

Spam complaints are currently handled the same way, as Yet Another Way to Unsubscribe … click the spam button in gmail and see for yourself:

If you don’t believe me, feel free to view source on the emails and look for yourself, and press the spam button in gmail to see the same UI I’ve screenshotted above.

(Matt Palmer) #76

Stupid’s gonna stupid. We follow the specs; if people want to do their own thing, that’s on them.

It’s almost certainly FBL activity.

(Jay Pfaffman) #77

For someone I know, Outlook is hijacking unsubscribe links in emails, so it’s impossible to unsubscribe. I’ve not investigated whether Outlook is instead looking for unsubscribe headers and that they are missing from all of the lists this person is trying to unsubscribe from.

So, yeah. Stupid’s gonna stupid.

(Bhanu Sharma) #78

Looks like the old webhooks for mailgun:
Dropped message & Hard bounce are now deprecating
and being replaced by permanent_fail & temproary_fail

I’ll test the new format webhooks with old procedure … if there are any issues, I’ll update my comment or else I’ll update the instructions.

(Bhanu Sharma) #79

Looks like it’s failing!
And Server is returning response 406

(Jeff Atwood) #80

Hmm, if true you should assign this fix out for 2.2 @zogstrip

(Régis Hanol) #82

Thanks for the report and the tests @itsbhanusharma :+1:.

I’ve added support for both legacy and new webhooks in

(Michał Frąckiewicz) #83

Any chance to look again at implementation of AWS SES integration?