Skip to content

Instantly share code, notes, and snippets.

@bcoe
Created November 27, 2011 00:54
Show Gist options
  • Select an option

  • Save bcoe/1396666 to your computer and use it in GitHub Desktop.

Select an option

Save bcoe/1396666 to your computer and use it in GitHub Desktop.
mailing-list.py
from smtproutes import Route, Server
from pymongo import Connection
subscribers = Connection('vmimage').mailing_list.subscribers
class MailingList(Route):
def subscribe(self, route=r'subscribe-(?P<name>[^@]*)@.*'):
subscribers.update({
'email': self.mailfrom.email,
},
{'$set': {
'email': self.mailfrom.email,
'name': self.name
}}, upsert=True)
def unsubscribe(self, route=r'unsubscribe@.*'):
subscribers.remove({
'email': self.mailfrom.email
})
Server(('0.0.0.0', 25), None).add_route(MailingList).start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment