SMTP Server built on top of Tornado.
Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Comment. Feb 28, 2014
examples Fixed smtp module samples. Feb 27, 2014
tests Improved SMTPRequestTest to cover SMTPRequest's __repr__. Feb 28, 2014
.coveragerc Improved coverage for __init__ module. Feb 8, 2014
.travis.yml Added Travis config. Feb 5, 2014 Tox configuration. Feb 3, 2014
README.rst Fixed samples on README. Feb 27, 2014 Added distribute_setup script. Feb 19, 2014 Added doc command on Feb 22, 2014
tox.ini Update Python versions on tox.ini file. Feb 5, 2014



John Bonham's sigil three intersecting circles


Bonzo is a Python SMTP Server using the asynchronous network library of Tornado. And it's actually a port of Python's smtpd module.

Travis CI status Coveralls status Latest PyPI version Number of PyPI downloads

Hello, world

Here is a simple "Hello, world" example SMTP server for Bonzo:

import tornado.ioloop
import bonzo.smtp

class Handler(bonzo.smtp.RequestHandler):

    def data(self):

application = bonzo.smtp.Application(Handler)

if __name__ == '__main__':


You can to use pip to install Bonzo:

$ pip install bonzo

Or using last source:

$ pip install git+


Sphinx is needed to generate the documentation. Documentation can be generated by issuing the following commands:

$ cd docs
$ make html

Or simply:

$ python doc

Also, the current documentation can be found at ReadTheDocs.


Bonzo is available under the Apache License, Version 2.0.


Logo credits: Image created by Freakofnurture (Wikimedia user), released into the public domain (source).