跳转到主要内容

虚构SMTP服务器

项目描述

nullsmtpd

Build Status

nullsmtpd是一个虚构的SMTP服务器(用Python编写),可用于开发。服务器会捕获传入的邮件,将它们写入文件,而不会实际发送给预期收件人。所有电子邮件都保存在一个目录中(默认为/var/log/nullsmtpd,但可以通过标志进行更改),每个发送的电子邮件地址都会得到自己的文件夹,然后电子邮件存储在该文件夹中,命名为{sender}.{time}.msg。这对于调试不需要GUI(例如在运行无头VM时)但仍然需要查看系统发送的消息的应用程序非常有用,无需担心消息被退回或类似的情况。

通常,你可能想要安装这个而不是sendmail或其他处理服务器发送邮件的包。

需求

nullsmtpd依赖于Python 3.5+和aiosmtpd。建议安装pip以进行安装。

安装

推荐通过PyPi安装

pip install nullsmtpd

或者如果你已经克隆了仓库

python3 setup.py install

用法

usage: nullsmtpd [-h] [--no-fork] [-H HOST] [-P PORT] [--mail-dir MAIL_DIR]
                [-v]

optional arguments:
  -h, --help            show this help message and exit
  --no-fork             Don't fork and run nullsmtpd as a daemon. Additionally,
                        this willprint all log messages to stdout/stderr and
                        all emails to stdout.
  -H HOST, --host HOST  Host to listen on
  -P PORT, --port PORT  Port to listen on
  --mail-dir MAIL_DIR   Location to write logs and emails (defaults to
                        ~/.nullsmtpd)
  -v, --version         show program's version number and exit

默认情况下,您需要使用sudo,因为服务器想要绑定到localhost和端口22。但是,如果您使用不同的端口,则不需要使用sudo。然而,请注意,如果当前运行的脚本用户无法在/var/log/var/log/nullsmtpd中创建目录/文件,则不会将邮件写入文件,而是仅通过控制台。

如果邮件目录可写,则应具有以下目录结构

nullsmtpd.log
person1@example.com/
    1492024232.person2@example.com.msg
    1492024462.person2@example.com.msg
    1493678462.person1@example.com.msg
person2@example.com/
    person1@example.com.1232421423.msg

其中nullsmtpd.log是系统日志文件,每个文件夹代表一个人的“收件箱”,其中包含特定时间戳(从纪元以来的秒数)的消息。

项目详情


下载文件

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

源分布

nullsmtpd-0.5.1.tar.gz (6.5 kB 查看哈希值)

上传时间

构建分布

nullsmtpd-0.5.1-py3-none-any.whl (7.3 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面