Skip to main content

A non-blocking smtp client to work with tornado-based application

Project description

Non-blocking smtp client to work with tornado web framework 4.0 and above

This library is a port of Python smtplib to tornado non-blocking IOstream implementation.

The below example was taken and modified from Python docs’ example:

#!/usr/bin/env python3

from tornado_smtpclient import client

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# create SMTP client
s = client.SMTPAsync()
yield s.connect('your.email.host',587)
yield s.starttls()
yield s.login('username', 'password')

# me == my email address
# you == recipient's email address
me = "my@email.com"
you = "your@email.com"

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = "Link"
msg['From'] = me
msg['To'] = you

# Create the body of the message (a plain-text and an HTML version).
text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org"
html = """\
<html>
<head></head>
<body>
<p>Hi!<br>
How are you?<br>
Here is the <a href="http://www.python.org">link</a> you wanted.
</p>
</body>
</html>
"""

# Record the MIME types of both parts - text/plain and text/html.
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')

# Attach parts into message container.
# According to RFC 2046, the last part of a multipart message, in this case
# the HTML message, is best and preferred.
msg.attach(part1)
msg.attach(part2)

# sendmail function takes 3 arguments: sender's address, recipient's address
# and message to send - here it is sent as one string.
yield s.sendmail(me, you, msg.as_string())
yield s.quit()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tornado-smtpclient-0.1.5.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file tornado-smtpclient-0.1.5.tar.gz.

File metadata

File hashes

Hashes for tornado-smtpclient-0.1.5.tar.gz
Algorithm Hash digest
SHA256 fb56bf593dcaa863305bff6d286ca8363065cb3ec5620da863b0d6539a9534dd
MD5 875329155876b2f5d356e9a9ceb9a732
BLAKE2b-256 3a8a85b41b7f14d88da6e66bbff072de0297feca2bc5509f1f0c435fdfd5c744

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page