1Metadata-Version: 1.1 2Name: pymailq 3Version: 0.9.0 4Summary: Postfix queue control python tool 5Home-page: https://github.com/outini/pymailq 6Author: Denis Pompilio (jawa) 7Author-email: denis.pompilio@gmail.com 8License: GPLv2 9Description: |PythonPIP|_ |PythonSupport|_ |License|_ |Codacy|_ |Coverage|_ |RTFD|_ |Travis|_ 10 11 pymailq - Simple Postfix queue management 12 ========================================= 13 14 | **Contact:** Denis 'jawa' Pompilio <denis.pompilio@gmail.com> 15 | **Sources:** https://github.com/outini/pymailq/ 16 | 17 | A full content documentation, is online at https://pymailq.readthedocs.io/en/latest/ 18 | 19 | The pymailq module makes it easy to view and control Postfix mails queue. It 20 | provide several classes to store, view and interact with mail queue using 21 | Postfix command line tools. This module is provided for automation and 22 | monitoring developments. 23 | 24 | This project also provides a shell-like to interact with Postfix mails queue. 25 | It provide simple means to view the queue content, filter mails on criterias 26 | like Sender or delivery errors and lead administrative operations. 27 28 Installation 29 ------------ 30 31 Install pymailq module from https://pypi.python.org:: 32 33 pip install pymailq 34 35 Install pymailq module from sources:: 36 37 python setup.py install 38 39 A SPEC file is also provided for RPM builds (currently tested only on Fedora), 40 thanks to Nils Ratusznik (https://github.com/ahpnils). Debian binary packages 41 are also available. 42 43 Requirements 44 ------------ 45 46 This module actually support the following Python versions: 47 48 * *Python 2.7* 49 * *Python 3+* 50 51 A shell is provided for interactive administration. Based on Python *cmd* 52 module, using Python compiled with *readline* support is highly recommended 53 to access shell's full features. 54 55 Using the shell 56 --------------- 57 58 Mails queue summary:: 59 60 ~$ pqshell --summary 61 62 ====================== Mail queue summary ======================== 63 Total mails in queue: 1773 64 Total queue size: 40.2 MB 65 66 Mails by accepted date: 67 last 24h: 939 68 1 to 4 days ago: 326 69 older than 4 days: 173 70 71 ----- Mails by status ---------- ----- Mails by size ---------- 72 Active 2 Average size 23.239 KB 73 Hold 896 Maximum size 1305.029 KB 74 Deferred 875 Minimum size 0.517 KB 75 76 ----- Unique senders ----------- ----- Unique recipients ------ 77 Senders 156 Recipients 1003 78 Domains 141 Domains 240 79 80 ----- Top senders ------------------------------------------------ 81 228 sender-3@domain-1.tld 82 195 sender-1@domain-4.tld 83 116 MAILER-DAEMON 84 105 sender-2@domain-2.tld 85 61 sender-7@domain-3.tld 86 87 ----- Top sender domains ----------------------------------------- 88 228 domain-1.tld 89 195 domain-4.tld 90 105 domain-2.tld 91 75 domain-0.tld 92 61 domain-3.tld 93 94 ----- Top recipients --------------------------------------------- 95 29 user-1@domain-5.tld 96 28 user-5@domain-9.tld 97 23 user-2@domain-8.tld 98 20 user-3@domain-6.tld 99 20 user-4@domain-7.tld 100 101 ----- Top recipient domains -------------------------------------- 102 697 domain-7.tld 103 455 domain-5.tld 104 37 domain-6.tld 105 37 domain-9.tld 106 34 domain-8.tld 107 108 Using the shell in interactive mode:: 109 110 ~$ pqshell 111 Welcome to PyMailq shell. 112 PyMailq (sel:0)> store load 113 500 mails loaded from queue 114 PyMailq (sel:500)> show selected limit 5 115 2017-09-02 17:54:34 B04C91183774 [deferred] sender-6@test-domain.tld (425B) 116 2017-09-02 17:54:34 B21D71183681 [deferred] sender-2@test-domain.tld (435B) 117 2017-09-02 17:54:34 B422D11836AB [deferred] sender-7@test-domain.tld (2416B) 118 2017-09-02 17:54:34 B21631183753 [deferred] sender-6@test-domain.tld (425B) 119 2017-09-02 17:54:34 F2A7E1183789 [deferred] sender-2@test-domain.tld (2416B) 120 ...Preview of first 5 (495 more)... 121 PyMailq (sel:500)> show selected limit 5 long 122 2017-09-02 17:54:34 B04C91183774 [deferred] sender-6@test-domain.tld (425B) 123 Rcpt: user-3@test-domain.tld 124 Err: Test error message 125 2017-09-02 17:54:34 B21D71183681 [deferred] sender-2@test-domain.tld (435B) 126 Rcpt: user-3@test-domain.tld 127 Err: Test error message 128 2017-09-02 17:54:34 B422D11836AB [deferred] sender-7@test-domain.tld (2416B) 129 Rcpt: user-2@test-domain.tld 130 Err: mail transport unavailable 131 2017-09-02 17:54:34 B21631183753 [deferred] sender-6@test-domain.tld (425B) 132 Rcpt: user-3@test-domain.tld 133 Err: mail transport unavailable 134 2017-09-02 17:54:34 F2A7E1183789 [deferred] sender-2@test-domain.tld (2416B) 135 Rcpt: user-1@test-domain.tld 136 Err: mail transport unavailable 137 ...Preview of first 5 (495 more)... 138 PyMailq (sel:500)> select error "Test error message" 139 PyMailq (sel:16)> show selected rankby sender 140 sender count 141 ================================================ 142 sender-2@test-domain.tld 7 143 sender-4@test-domain.tld 3 144 sender-6@test-domain.tld 2 145 sender-5@test-domain.tld 1 146 sender-8@test-domain.tld 1 147 sender-3@test-domain.tld 1 148 sender-1@test-domain.tld 1 149 PyMailq (sel:16)> select sender sender-2@test-domain.tld 150 PyMailq (sel:7)> super hold 151 postsuper: Placed on hold: 7 messages 152 PyMailq (sel:7)> select reset 153 Selector resetted with store content (500 mails) 154 PyMailq (sel:500)> show selected rankby status 155 status count 156 ================================================ 157 deferred 493 158 hold 7 159 PyMailq (sel:500)> exit 160 Exiting shell... Bye. 161 162 Packaging 163 --------- 164 165 Binary packages for some linux distribution are available. See the *packaging* 166 directory for more information. 167 168 License 169 ------- 170 171 "GNU GENERAL PUBLIC LICENSE" (Version 2) *(see LICENSE file)* 172 173 174 .. |PythonPIP| image:: https://img.shields.io/pypi/v/pymailq.svg 175 .. _PythonPIP: https://pypi.python.org/pypi/pymailq/ 176 .. |PythonSupport| image:: https://img.shields.io/badge/python-2.7,%203.4,%203.5,%203.6-blue.svg 177 .. _PythonSupport: https://github.com/outini/pymailq/ 178 .. |License| image:: https://img.shields.io/badge/license-GPLv2-blue.svg 179 .. _License: https://github.com/outini/pymailq/ 180 .. |Codacy| image:: https://api.codacy.com/project/badge/Grade/8444a0f124fe463d86a91d80a2a52e7c 181 .. _Codacy: https://www.codacy.com/app/outini/pymailq 182 .. |Coverage| image:: https://api.codacy.com/project/badge/Coverage/8444a0f124fe463d86a91d80a2a52e7c 183 .. _Coverage: https://www.codacy.com/app/outini/pymailq 184 .. |RTFD| image:: https://readthedocs.org/projects/pymailq/badge/?version=latest 185 .. _RTFD: http://pymailq.readthedocs.io/en/latest/?badge=latest 186 .. |Travis| image:: https://travis-ci.org/outini/pymailq.svg?branch=master 187 .. _Travis: https://travis-ci.org/outini/pymailq 188 189 190Keywords: postfix,shell,mailq,python,pqshell,postqueue 191Platform: UNIX 192Classifier: Development Status :: 5 - Production/Stable 193Classifier: Operating System :: POSIX :: BSD 194Classifier: Operating System :: POSIX :: Linux 195Classifier: License :: OSI Approved :: GNU General Public License v2 (GPLv2) 196Classifier: Programming Language :: Python 197Classifier: Environment :: Console 198Classifier: Topic :: Utilities 199Classifier: Topic :: Communications :: Email 200Classifier: Topic :: System :: Systems Administration 201Classifier: Topic :: System :: Shells 202