Skip to main content

A simple debug smtp server for development.

Project description

Introduction is an extension of the smtpd.DebuggingServer from the Python standard library. It dumps all mails it receives to the standard output and optionally to files in a configurable directory.


There are several ways to use this package. Probably the most two common are the following.

Command line

Install it with your preferred Python packaging tool (setuptools, distribute, pip or whatever). Run it from the command line using python -m smtpd -n -c localhost:8025.

If you want to dump the output to a directory, then set the DEBUG_SMTP_OUTPUT_PATH environment variable. For example like DEBUG_SMTP_OUTPUT_PATH=mails python -m smtpd -n -c localhost:8025.


Add a part to your config like this:

# Run a simple smtp server on 8025 that echos incoming email
recipe = zc.recipe.egg
eggs =
entry-points = debugsmtp=runpy:run_module
scripts = debugsmtp
host = localhost
port = 8025
path = ${buildout:directory}/var/mails
initialization =
    import os
    os.environ.setdefault('DEBUG_SMTP_OUTPUT_PATH', '${:path}')
    sys.argv[1:] = ['-n', '-c', '', '${:host}:${:port}']
arguments = 'smtpd', run_name='__main__', alter_sys=True

You can then add this script to something like supervisord and use mr.laforge to automatically start it when you need it.


1.1 - 2011-08-04

  • Fix packaging issue which basically made 1.0 a brownbag release. [fschulze]

1.0 - 2011-08-04

  • Initial release [fschulze]

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 (6.4 kB view hashes)

Uploaded Source

Supported by

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