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如何向第二个组合框模型项添加数组值从第一个组合框所选项获取数组名称? 使用Java与WebSphere的SSL握手错误 eclipse线程“main”Java中的第一个Java程序异常。lang.NoClassDefFoundError java将Javafx应用作为Web应用移植的最佳方式 IDE的java右JVM文件夹 java如何在基本适配器中停止文本到语音 java If block使用substring和equals方法以假值执行 在本例中,如何在java中返回多个值? java第二个主类在maven构建期间覆盖第一个主类 如何在java中设置运行时ArrayList的泛型类型? java从主机读取文件