Reducing Reply-All spam on your Exchange distribution lists

So this is something that I’ve tried to remedy for awhile now…

  1. Someone on your staff mails your “All Staff” DL with an announcement or cool story, which is great.
  2. After awhile you start seeing one-to-two-word responses to that email from folks that decided to hit Reply All instead of Reply, which is not-so-great.
  3. If you’re really unfortunate, someone else decides to respond to one of the first people who hit Reply All. And guess what…they use Reply All as well. Before you know it, you’ve got 10 responses to the original email, a high percentage of which may be completely meaningless, and usually all of which didn’t need to be seen by your entire staff.

I have various theories on why people do this. Sometimes it may be for attention and sometimes it’s just sheer ignorance. But the root matter is that it can be annoying, and it can certainly waste time during the day simply because of the nature of reading email.

What I’ve put together isn’t a fullproof method of eliminating mass Reply All storms, but it’s designed to significantly and invisibly (without putting any alerts or NDRs in front of the user) reduce them. It needs to be noted that I’m doing this using Office 365. As always, your mileage may vary.

  1. Create an Exchange mailbox for the sole purpose of bouncing mail to another address (we’ll refer to this as the “bouncing mailbox”). For this discussion, we’ll name it allstaff-bounce@contoso.com. Assuming you’re on your church’s free O365 tenant (because you signed up through TechSoup, right? Right.), you can just assign an E1/E2 license and not worry about paying for this.
  2. Next, in the properties for your new mailbox, hide this mailbox from your address lists. You definitely don’t want users seeing it.
  3. Now, still in mailbox properties, drill down to Mailbox Features > Mail Flow > Delivery Options, and enable forwarding. You want the forwarding address to be your actual All Staff DL (e.g. allstaff@contoso.com or whatever it is in your environment). If you want to enable the “Deliver message to both…” option, feel free to. If nothing else, it’ll help you prove that everything is working right.

That’s it for the mailbox. Now we’re going to go create a transport rule.

  1. Head over to Mail Flow > Rules – Click + and Create a new rule…
  2. Click More Options… near the bottom of the rule window to enable some more advanced criteria.
  3. Fashion your rule as follows…
    a. Apply this rule if…
    -The message > To box contains this person… > <your All Staff DL> – In this example we’d use allstaff@contoso.com
    b. Do the following…
    -Add recipients… to the Bcc box… > <your new bouncing mailbox> – In this example we’d use allstaff-bounce@contoso.com
    -Modify the message properties > remove a message header > To – Just the word ‘To’ with no quotes and no colon.
  4. Save your transport rule. It should look something like this:

So here’s what should happen as a result of what we’ve done.

  1. Someone in your org emails allstaff@contoso.com with an announcement or something for the entire staff.
  2. Your Exchange rule intercepts this email based on the criteria we set. Based on the actions we set in the rule, the “To” header (which would’ve contained allstaff@contoso.com) is stripped from the email, and the email is BCC’d to allstaff-bounce@contoso.com – Both of those things are super-significant, and I’ll explain why in a minute.
  3. Your Bounce mailbox receives the email that was sent to it because of the transport rule. Because of the settings we put on this mailbox earlier, it silently forwards the email straight to your actual All Staff DL (allstaff@contoso.com).

Here’s the significance of what we did, though:
A. Our Delivery Settings on the bouncing mailbox cause the mail to get forwarded straight on allstaff@contoso.com BUT… because the bouncing mailbox was BCC’d in the email (because of the settings in our transport rule), it forwards the email on in the same manner: via BCC.
B. Because we also stripped the To: header in this email before BCCing to our bouncing mailbox, by the time it gets in front of our users, there’s still nothing in the To: header. What you have is an email that shows who it was from, but not where it was sent to. (As shown below)

Because of this, even if a user hits Reply All, the reply, by default, is addressed only to the originator of the email and not the distribution list, potentially preventing a Reply All Storm as well as lost time and general annoyance.


QUESTIONS!

Why do I need a bouncing mailbox? Why didn’t you just BCC to your All Staff distribution list in your Transport Rule? For reasons I’m not smart enough to understand, Microsoft doesn’t allow you to use Transport Rules to send email directly to a DL. But you can bend the rules by sending mail to a normal mailbox that’s set up to forward directly to a DL.

Can this method be defeated by end users? Without a doubt. All you need to do is add your All Staff DL back on to the To: line of your reply, and everyone in your org will get spammed just like before. With all due respect to end users, this is designed to prevent spamming caused by inattention and bad habits. It won’t stand up to someone being intentionally spamalous. It definitely shouldn’t be used in lieu of email etiquette training, either.

There’s got to be other ways to cut back on Reply All spam, right? I’m sure there are. But I couldn’t find a method that did the job without bouncing rejection messages back at the user. There’s a balance between user-friendliness and feature effectiveness that I believe needs to exist in many cases, and this was as close to the middle as I could get it.

I know this is a long, drawn-out deal with a lot of words, but I hope that this info is helpful to someone. If anything is unclear or doesn’t work how you expect it to, feel free to hit me up. I’ll help out any way I can.

Dave

3 Likes