跳转到主要内容

一个简单的开发调试SMTP服务器。

项目描述

简介

mr.hermes 是Python标准库中的smtpd.DebuggingServer的一个扩展。它将接收到的所有邮件输出到标准输出,并可选地输出到配置的目录中的文件。

用法

使用此包的方式有几种。可能最常见的是以下两种。

命令行

使用您首选的Python打包工具(setuptools、distribute、pip等)安装它。从命令行运行它,使用 python -m smtpd -n -c mr.hermes.DebuggingServer localhost:8025

如果您想将输出保存到目录中,则设置环境变量 DEBUG_SMTP_OUTPUT_PATH。例如 DEBUG_SMTP_OUTPUT_PATH=mails python -m smtpd -n -c mr.hermes.DebuggingServer localhost:8025

Buildout

在您的配置中添加一个部分,如下所示

[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

然后您可以将此脚本添加到类似 supervisord 的程序中,并使用 mr.laforge 在需要时自动启动它。

变更日志

1.4.0 - 2017-11-08

  • 针对Python 3.6的修复。[dokai (Kai Lautaportti), fschulze]

1.3.0 - 2016-12-06

  • mr.hermes.DebugginServer.__init__ 中添加了 *args**kwargs,以接受Python 3.3和3.4中引入的新(即使未使用)参数,并在从命令行运行smtp模块时使用。[duploduplo (Lorenzo Berni)]

1.2 - 2013-07-22

  • 确保当文件名冲突时邮件被正确排序。[dokai (Kai Lautaportti), fschulze]

1.1 - 2011-08-04

  • 修复了基本导致1.0成为brownbag发布的打包问题。[fschulze]

1.0 - 2011-08-04

  • 首次发布[fschulze (Florian Schulze)]

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

mr.hermes-1.4.0.tar.gz (4.1 kB 查看哈希值)

上传时间 源代码

由以下提供支持