Asynchronous email sending(SMTP) library for Tornado. Port of django.mail.
Using pip: pip install tornadomail
From source: git clone git://github.com/equeny/tornadomail.git; cd tornadomail; python setup.py install
EmailMessage, EmailMultiAlternatives are almost identical to django classes, except send function is async and can receive callback argument.
from tornadomail.message import EmailMessage, EmailMultiAlternatives
from tornadomail.backends.smtp import EmailBackend
class Application(tornado.web.Application):
@property
def mail_connection(self):
return EmailBackend(
'smtp.gmail.com', 587, '<your google mail>', '<your google password>',
True
)
class MainHandler(tornado.web.RequestHandler):
@property
def mail_connection(self):
return self.application.mail_connection
def get(self):
self.render("index.html")
def post(self):
def _finish(num):
print 'sent %d message(s)' % num
self.render("index.html")
message = EmailMessage(
self.get_argument('subject'),
self.get_argument('message'),
'<your google mail>',
[self.get_argument('email')],
connection=self.mail_connection
)
message.send()#callback=_finish)
self.render("index.html")
The following two python libraries are required
Please report any issues via github issues