Python邮件服务器
项目描述
Salmon - Python邮件服务器
Salmon是一个纯Python邮件服务器,旨在以现代Web框架的风格创建健壮且复杂的邮件应用程序。Salmon旨在位于传统邮件服务器之后,就像Web应用程序位于Apache或Nginx之后一样。它具有Web应用程序堆栈的所有功能(模板、路由、处理程序、状态机),并且与其他库(如Django和SQLAlchemy)兼容得很好。
Salmon已根据FSF发布的GNU GPLv3发布。
特性
Salmon支持在许多环境中使用当前最佳技术处理邮件。由于Salmon旨在成为一个现代邮件服务器和邮件处理框架,它具有其他邮件服务器中找不到的一些特性。
用可移植的Python编写,应在几乎任何Unix服务器上运行。
处理几乎所有编码和格式的邮件,包括附件,并将它们规范化以便更容易处理。
发送几乎纯净的清洁邮件,其他接收服务器更容易处理。
正确解码国际化邮件到Python unicode,并将Python unicode翻译回干净的ascii和/或UTF-8邮件。
支持与Maildir队列协同工作以延迟工作并将工作分配到多台机器。
可以作为非root用户在特权端口上运行以降低入侵风险。
Salmon还可以在完全独立的虚拟环境中运行,便于部署。
灵活且易于使用的路由系统让您可以编写状态或无状态的处理程序来处理电子邮件。
可以使用Jinja2或Mako模板来制作包括头部的电子邮件。
易于配置以使用替代的发送和接收系统、数据库库或其他任何您需要与之通信的系统。
然而,您不必配置一切才能开始。简单的salmon gen命令可以让您快速将应用程序部署并运行。
最后,提供许多有用的命令用于通用邮件服务器调试和清理。
安装
pip install salmon-mail
项目信息
项目文档可以在这里找到
分支
Salmon是Lamson的一个分支。在2012年夏天(确切地说,是2012年7月13日),Lamson在可撤销的BSD变体下重新授权。其中两个最令人关注的条款
4. Contributors agree that any contributions are owned by the copyright holder and that contributors have absolutely no rights to their contributions. 5. The copyright holder reserves the right to revoke this license on anyone who uses this copyrighted work at any time for any reason.
我理解为我可以做出贡献,但如果原始作者不喜欢我的袜子颜色,我的工作可能会被拒绝。所以我找到了最新的版本,该版本适用于GNU GPL版本3。
如果您还没有发现,Salmon是Lamson的谐音。
源码
您可以在GitHub上找到源码
状态
Salmon刚刚对代码库进行了重大更改,以使其现代化。主要API应该与3.0.0之前的版本兼容,但无法保证旧应用程序不需要更改。
支持的Python版本为:3.8、3.9、3.10、3.11和3.12。
有关Salmon版本2以来的更改详情,请参阅CHANGELOG。
许可证
Salmon在GNU GPLv3许可下发布,许可协议可以在这里找到
贡献
欢迎拉取请求和问题。在贡献之前,请阅读我们的行为准则!
我不会接受因新许可证条款而提交给原始项目包含的代码。
行为准则
Salmon项目采用了Contributor Covenant Code 1.4版本。通过向本项目贡献,您同意遵守其条款。
行为准则的全文可以在这里找到
测试
Salmon项目需要单元测试、代码审查、覆盖率信息、源代码分析和安全审查以维护质量。如果您发现了一个错误,请花时间编写一个失败的测试用例或提供一段导致失败的邮件。
如果您贡献了新代码,则您的代码应该尽可能具有覆盖率,而模拟的量应最小。
可以通过以下方式运行测试
$ python setup.py test
或者,如果您本地安装了多个Python版本
$ pip install tox $ tox -e py36,py37
有关更多信息,请参阅tox文档。
开发
Salmon完全用Python编写,在Python 3上运行。它应该能够在支持Python和具有Unix语义的任何平台上运行。
如果您在源代码中迷路了,只需喊出来。
尽可能遵循PEP-8规范,但您可以随意忽略它规定的80个字符限制(在我看来,120个字符是一个很好的标准)。
资金
如果您发现Salmon很有用,并希望看到其持续发展,请考虑为我买一杯咖啡。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
salmon_mail-3.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 550d2db25dec887209947431e48dbfd83a79fa981f1f86a6521de74a27718bfe |
|
MD5 | 7bc412fb59b9b12ea3ec3bc1fde99f9b |
|
BLAKE2b-256 | 1c50d63e7ad2ac225704a65642a601ae65dcb5c5fe0dc396b0987b0dc194e0d6 |
salmon_mail-3.3.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 73a0c8af19f28a8cb674a95853265bf02928ed4d8d9484adb1c294698e2ed079 |
|
MD5 | b027a83981bb4eb0545ce41a38928b49 |
|
BLAKE2b-256 | ea400004dfd4f6b4e98eefae369a47c22a8d7ce3107fa768395c8dbe57383293 |