Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A simple debug smtp server for development.

Project Description

Introduction

mr.hermes 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.

Usage

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 mr.hermes.DebuggingServer 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 mr.hermes.DebuggingServer localhost:8025.

Buildout

Add a part to your config like this:

[debugsmtp]
# Run a simple smtp server on 8025 that echos incoming email
recipe = zc.recipe.egg
eggs = mr.hermes
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', 'mr.hermes.DebuggingServer', '${: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.

Changelog

1.3.0 - 2016-12-06

  • Added *args and **kwargs in mr.hermes.DebugginServer.__init__ to accept the new (even if unused) parameters introduced in Python 3.3 and 3.4 and used when running the smtp module from cli. [duploduplo (Lorenzo Berni)]

1.2 - 2013-07-22

  • Make sure mails are sorted properly when filenames conflict. [dokai (Kai Lautaportti), fschulze]

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 (Florian Schulze)]
Release History

Release History

This version
History Node

1.3.0

History Node

1.2

History Node

1.1

History Node

1.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
mr.hermes-1.3.0.tar.gz (4.2 kB) Copy SHA256 Checksum SHA256 Source Dec 6, 2016
mr.hermes-1.3.0.zip (8.6 kB) Copy SHA256 Checksum SHA256 Source Dec 6, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting