postfix队列控制python工具

pymailq的Python项目详细描述


PythonPIPPythonSupportLicenseCodacyCoverageRTFDTravis

pymailq-简单的后缀队列管理

联系人:denis‘jawa’pompilio<;denis.pompilio@gmail.com>;

一个完整的内容文档,位于https://pymailq.readthedocs.io/en/latest/

pymailq模块使查看和控制postfix邮件队列变得容易。它
使用提供几个类来存储、查看和与邮件队列交互
后缀命令行工具。本模块用于自动化和
监控事态发展。

这个项目还提供了一个类似shell的与postfix邮件队列交互的功能。
它提供了查看队列内容、根据标准筛选邮件的简单方法
喜欢发送者或传递错误和领导管理操作。

安装

https://pypi.python.org

安装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)(请参阅许可证文件)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐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从主机读取文件