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

tornsmtp-0.1.5.tar.gz (5.8 kB view details)

Uploaded Source

File details

Details for the file tornsmtp-0.1.5.tar.gz.

File metadata

  • Download URL: tornsmtp-0.1.5.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for tornsmtp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 4133e500685cd103a297262b9e07a9354a2c9ae8a84e27ee903d74d9ca250100
MD5 eb699004cdb9c369d80aa05402143d35
BLAKE2b-256 a87e551b2b0943abe1aab0528f81b4fc7e61a2d947432e4beffab6a8744c218a

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