The sp@mlooper
Switch branches/tags
Nothing to show
Clone or download
Latest commit b4dec1d Sep 29, 2016
Failed to load latest commit information.
app first' Sep 25, 2016
bin first' Sep 25, 2016
config first' Sep 25, 2016
db first' Sep 25, 2016
lib first' Sep 25, 2016
public first' Sep 25, 2016
test first' Sep 25, 2016
vendor/assets first' Sep 25, 2016
.gitignore first' Sep 25, 2016
Gemfile first' Sep 25, 2016
Gemfile.lock first' Sep 25, 2016 Update Sep 29, 2016
Rakefile first' Sep 25, 2016 first' Sep 25, 2016


Hey everyone, sorry I didn't have time to put up an ideal set of instructions on how-to-use. I didn't realize it would gain the traction that it did..

Okay, enough excuses. Here's some info to get you started (if you're running it on Heroku).

Setup Sendgrid

  1. Setup Inbound Parse on Sendgrid (
  2. Give Inbound Parse a domain name to watch and an endpoint to trigger. For the mlooper, this would trigger:

If you notice in the Gemfile there is a griddler gem. That handles some magic of incoming sendgrid parse events sent to the email_processor endpoint.

Setup Heroku Scheduler

  1. Create a job in Heroku scheduler to run rake reply_to_spammers every 10 minutes.


  1. Create a Postgres (or MySQL) database
  2. Create a user account (required fields are: email, looper_name, looper_title, password, privacy*)
  3. Create some "Replacements" — basically, a way for you to replace your full name with some fake name. i.e. (replace "brian weinreich" with "john doe")
  4. Create some "Replies" — the pre-generated replies the looper should use
  • The privacy setting is how you toggle the default conversation privacy. If you forward a new email to the it will either be available for anyone to see, or private and only visible to your logged-in user account.

Test it out

I believe that's about it. You might need some customization to get it rolling for your own custom domain (I might have hard-coded some things to work only for domain).

Few Big Disclaimers!

  1. Make sure you get the "Replacements" correct. Replace your phone number, email, full name, company name, etc. You don't want those items to show up in the email out to the spammer (or they'll figure you out).
  2. The email parses is finnicky. Every email provider works a bit different in how they send a forwarded email. So, there might be some errors when parsing through the forwarded email to find the spammers email address if you use a client other than Gmail or Inbox.


No real tests :( Sorry— this was a definite hack to have some fun.


Gmail forwarded messages look like:

John Doe
Call: 123-1234 email: <>
	---------- Forwarded message ----------
From: Bizzy B <>
Date: Sun, Feb 22, 2015 at 4:00 PM
Subject: Fwd: Re: Git Access​
This is some text

Mailbox forwarded messages look like:

John Doe
Call: 123-1234 email: <>
Begin forwarded message:
On Tuesday, Feb 17, 2015 at 9:52 AM, Jizzle Wizzle <>, wrote: