Product

Intelligent email forwarding with Mailgun

Why let spammers fill your inbox when you can filter them out with Mailgun's routes instead? Read more to learn how to quickly filter out spam emails –

PUBLISHED ON

PUBLISHED ON

I’ve had a personal website at NickLafferty.com since I was in college. It’s gone through lots of iterations as I’ve transitioned from student life to working full time, and as a marketer applying for jobs I think having a website made me stand out from other applicants. Plus, it helped that I had a ridiculous headshot of me in a suit sitting in the middle of the woods. Marketing, ya know? 

My email has always been publicly available on my website. It’s good practice, and it makes it easy for people to get in touch with me. However, this created a bit of a problem. Bots started to scrape my email from the website and send unsolicited spam about boosting SEO rankings or other junk offers marketers might care about. 

I keep my spam folder tidy, even go as far as unsubscribing from spam I get (when they actually give me the option to). But sometimes they don’t give you the option to unsubscribe, or they make it really obtuse, or they ask you to reply back to them to unsubscribe which is the WORST.

Fixing it with routes

Here’s where Mailgun comes in. Mailgun has a routes feature for inbound mail that lets you forward mail from a domain you own to any address. I forward email from my custom domain to my Gmail so I don’t have to give my main email address out to the world.

However, I don’t want to forward every single email that address gets. I want to stop some email before it gets to my inbox based on its content, like those junk SEO offers.

How do you do that?

First, add your domain to Mailgun. We’ve written some great guides on how to do this so I won’t repeat that here. You’ll also want to verify ownership of your domain by adding a few DNS records. Plus, adding MX records is required for Mailgun to process inbound mail, so go ahead and get that set up as well. If you need some help getting your MX record set up, I wrote a step-by-step guide here to help you out.

Side note: now is a good time to set up 2 Factor Authentication on your account to make sure it’s as secure as possible. 

Next, you’ll want to go to the Receiving page in the interface. This is where you’ll set up your rules to forward email and to stop spam. I have my rules in two groups:

1. Match recipient

This is how you can forward email from the domain you added to Mailgun to any other email address you own. You have the option of forwarding only specific addresses (like nick@domain.com), or you can create a catch-all that forwards mail sent to any address. In my example, I forward one email on my custom domain to my Gmail address. I recommend against forwarding all email to your domain because spammers will send junk email to common names @ your domain.

I set this rule up as priority 1. Mailgun routes are processed in ascending order, starting from 0. So I want my filtering rules to process first, block any spam, and then if email passes my filters it will forward to my real email.

2. Match headers

I have 2 rules set up for this. The first rule looks for emails with “re:” in the subject, or “serp” in the body. I kept getting spam emails that looked like forwarded emails, which all began with “re:”

The second rule looks for emails with “SEO” in the subject or body.

Here’s how I have them set up.

Match headers route code

You can filter based on subject line, body, or any other data in the header itself. I set up my filters to catch common spam emails that I wanted to block. Once you setup your filter, you need to decide what action to take. The proper action here is stop, which will do nothing to the emails, as long as the priority is lower than your forward filter.

Once your filters are set up you can go to the Logs page to see what emails you’re getting. Any email that passes your filter will show as ‘Delivered’, emails that don’t will stop at ‘Accepted’.

Accepted email list with timestamps

And there you have it! 

Getting rid of spam is something that everyone can feel passionate about, and I hope you’re able to curate your inbox a little bit better with this routing technique. If you’ve come up with a clever way to use routes to make your life easier for yourself or your business, let us know! We’d love to have you on the blog sometime. 

Sign Up

It's easy to get started. And it's free.

See what you can accomplish with the world’s best email delivery platform.

Related readings

Here’s how to track email opens in Gmail with email tracking

Sending email campaigns doesn’t have to feel like you’re throwing darts into a black hole. Email analytics are a great way to determine the health of your ecommerce campaign and...

Read more

Everything you need to know about sending email with APIs

Are you creating an e-commerce web page that needs to send transactional emails to customers? A developer building a web application that needs to send messages to email...

Read more

A practical guide to using Mailgun’s webhooks

Transactional emails are essential for most apps. We send welcome emails, password...

Read more

Popular posts

Email inbox.

Build Laravel 10 email authentication with Mailgun and Digital Ocean

When it was first released, Laravel version 5.7 added a new capability to verify user’s emails. If you’ve ever run php artisan make:auth within a Laravel app you’ll know the...

Read more

Mailgun statistics.

Sending email using the Mailgun PHP API

It’s been a while since the Mailgun PHP SDK came around, and we’ve seen lots of changes: new functionalities, new integrations built on top, new API endpoints…yet the core of PHP...

Read more

Statistics on deliverability.

Here’s everything you need to know about DNS blocklists

The word “blocklist” can almost seem like something out of a movie – a little dramatic, silly, and a little unreal. Unfortunately, in the real world, blocklists are definitely something you...

Read more

See what you can accomplish with the world's best email delivery platform. It's easy to get started.Let's get sending
CTA icon