postfix队列控制python工具
pymailq的Python项目详细描述
pymailq-简单的后缀队列管理
联系人:denis‘jawa’pompilio<;denis.pompilio@gmail.com>;
一个完整的内容文档,位于https://pymailq.readthedocs.io/en/latest/
pymailq模块使查看和控制postfix邮件队列变得容易。它
使用提供几个类来存储、查看和与邮件队列交互
后缀命令行工具。本模块用于自动化和
监控事态发展。
这个项目还提供了一个类似shell的与postfix邮件队列交互的功能。
它提供了查看队列内容、根据标准筛选邮件的简单方法
喜欢发送者或传递错误和领导管理操作。
安装
安装pymailq模块pip install pymailq
从源安装pymailq模块:
python setup.py install
还为RPM构建提供了一个spec文件(当前仅在Fedora上测试)。 感谢Nils Ratusznik(https://github.com/ahpnils)。Debian二进制软件包 也可以使用。
要求
这个模块实际上支持以下python版本:
- python 2.7
- python 3+
提供了一个shell用于交互式管理。基于pythoncmd 模块,强烈建议使用与readline支持一起编译的python 访问shell的全部功能。
使用外壳
邮件队列摘要:
~$ pqshell --summary ====================== Mail queue summary ======================== Total mails in queue: 1773 Total queue size: 40.2 MB Mails by accepted date: last 24h: 939 1 to 4 days ago: 326 older than 4 days: 173 ----- Mails by status ---------- ----- Mails by size ---------- Active 2 Average size 23.239 KB Hold 896 Maximum size 1305.029 KB Deferred 875 Minimum size 0.517 KB ----- Unique senders ----------- ----- Unique recipients ------ Senders 156 Recipients 1003 Domains 141 Domains 240 ----- Top senders ------------------------------------------------ 228 sender-3@domain-1.tld 195 sender-1@domain-4.tld 116 MAILER-DAEMON 105 sender-2@domain-2.tld 61 sender-7@domain-3.tld ----- Top sender domains ----------------------------------------- 228 domain-1.tld 195 domain-4.tld 105 domain-2.tld 75 domain-0.tld 61 domain-3.tld ----- Top recipients --------------------------------------------- 29 user-1@domain-5.tld 28 user-5@domain-9.tld 23 user-2@domain-8.tld 20 user-3@domain-6.tld 20 user-4@domain-7.tld ----- Top recipient domains -------------------------------------- 697 domain-7.tld 455 domain-5.tld 37 domain-6.tld 37 domain-9.tld 34 domain-8.tld
在交互模式下使用外壳:
~$ pqshell Welcome to PyMailq shell. PyMailq (sel:0)> store load 500 mails loaded from queue PyMailq (sel:500)> show selected limit 5 2017-09-02 17:54:34 B04C91183774 [deferred] sender-6@test-domain.tld (425B) 2017-09-02 17:54:34 B21D71183681 [deferred] sender-2@test-domain.tld (435B) 2017-09-02 17:54:34 B422D11836AB [deferred] sender-7@test-domain.tld (2416B) 2017-09-02 17:54:34 B21631183753 [deferred] sender-6@test-domain.tld (425B) 2017-09-02 17:54:34 F2A7E1183789 [deferred] sender-2@test-domain.tld (2416B) ...Preview of first 5 (495 more)... PyMailq (sel:500)> show selected limit 5 long 2017-09-02 17:54:34 B04C91183774 [deferred] sender-6@test-domain.tld (425B) Rcpt: user-3@test-domain.tld Err: Test error message 2017-09-02 17:54:34 B21D71183681 [deferred] sender-2@test-domain.tld (435B) Rcpt: user-3@test-domain.tld Err: Test error message 2017-09-02 17:54:34 B422D11836AB [deferred] sender-7@test-domain.tld (2416B) Rcpt: user-2@test-domain.tld Err: mail transport unavailable 2017-09-02 17:54:34 B21631183753 [deferred] sender-6@test-domain.tld (425B) Rcpt: user-3@test-domain.tld Err: mail transport unavailable 2017-09-02 17:54:34 F2A7E1183789 [deferred] sender-2@test-domain.tld (2416B) Rcpt: user-1@test-domain.tld Err: mail transport unavailable ...Preview of first 5 (495 more)... PyMailq (sel:500)> select error "Test error message" PyMailq (sel:16)> show selected rankby sender sender count ================================================ sender-2@test-domain.tld 7 sender-4@test-domain.tld 3 sender-6@test-domain.tld 2 sender-5@test-domain.tld 1 sender-8@test-domain.tld 1 sender-3@test-domain.tld 1 sender-1@test-domain.tld 1 PyMailq (sel:16)> select sender sender-2@test-domain.tld PyMailq (sel:7)> super hold postsuper: Placed on hold: 7 messages PyMailq (sel:7)> select reset Selector resetted with store content (500 mails) PyMailq (sel:500)> show selected rankby status status count ================================================ deferred 493 hold 7 PyMailq (sel:500)> exit Exiting shell... Bye.
包装
一些Linux发行版提供了二进制软件包。请参阅包装 目录以获取更多信息。
许可证
“GNU通用公共许可证”(版本2)(请参阅许可证文件)
推荐PyPI第三方库
- 热门话题
- java使用split函数分割字符串,但没有得到期望的结果 未找到包含derby数据库嵌入架构的sql Java桌面应用程序错误 java elasticsearch vs solr用于定制全文搜索系统 java Android:创建没有startOffset的动画延迟? java如何查看其他应用程序接收的数据? java如何在Linux中使用D和classpath选项运行jar文件 java和域设计最佳实践 具有相同内存位置的java数组,将显示为输出 连接到java中的elasticsearch? Java Playframework重定向到带有Json负载的外部url java无法在Android平台上使用InputStream为蓝牙socket创建ObjectInputStream 使用POI将Excel日期转换为Java日期,年份未正确显示 oracle从数据库层还是Java层调用webservice?