postfix_queue_management
no way to compare when less than two revisions
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
— | postfix_queue_management [2020/06/12 17:27] (versione attuale) – creata admin | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | Status/ | ||
+ | Postfix maintains different queues for different purpose.active | ||
+ | Ideally, we should never have a mail in deferred queue. | ||
+ | |||
+ | qshape command will show shape of active mail queue by default. Ideally it should be as close as to empty since postfix sends email instantly! | ||
+ | < | ||
+ | qshape | ||
+ | </ | ||
+ | Sample Outputs: | ||
+ | < | ||
+ | | ||
+ | TOTAL 0 0 0 0 0 0 | ||
+ | </ | ||
+ | |||
+ | If a mail is deferred, it will be moved to deferred queue. | ||
+ | |||
+ | Running following command will show you the number of deferred emails for each domains… | ||
+ | < | ||
+ | qshape deferred | ||
+ | </ | ||
+ | |||
+ | Sample Output: | ||
+ | < | ||
+ | | ||
+ | TOTAL 5 0 0 0 0 0 | ||
+ | gmail.com | ||
+ | yahoo.com | ||
+ | | ||
+ | </ | ||
+ | | ||
+ | |||
+ | If you see mails to one or more domain only being deferred, check if you can connect to those servers from your network. | ||
+ | |||
+ | Analyze mails in queue | ||
+ | |||
+ | Dump entire mail queue | ||
+ | You can use either mailq or postqueue -pcommand. They will show an output like below: | ||
+ | < | ||
+ | |||
+ | -Queue ID- --Size-- ----Arrival Time---- -Sender/ | ||
+ | 2FC8824D24 | ||
+ | (connect to alt2.gmail-smtp-in.l.google.com[74.125.79.26]: | ||
+ | | ||
+ | -- 16 Kbytes in 2 Requests. | ||
+ | You get dump for all emails from all mail queues including active & deferred queue. | ||
+ | |||
+ | </ | ||
+ | |||
+ | Read an email from mail queue | ||
+ | Every message in queue has a unique id. You can read message in queue using a command like: | ||
+ | < | ||
+ | postcat -q DA80E24A0A | ||
+ | </ | ||
+ | |||
+ | Or | ||
+ | < | ||
+ | postcat -qv DA80E24A0A | ||
+ | </ | ||
+ | |||
+ | It will display your emails with headers and some more info. Using ‘v’ will display extra information. | ||
+ | |||
+ | Attempt to send an email from mail queue | ||
+ | Its better to first open postfix log using something like below: | ||
+ | < | ||
+ | tail -f / | ||
+ | </ | ||
+ | |||
+ | Then you can identify a stuck mail and attempt to send it by using: | ||
+ | < | ||
+ | postqueue -i DA80E24A0A | ||
+ | </ | ||
+ | |||
+ | If that mail gets stuck again, check log tab to find reason. | ||
+ | |||
+ | Once you fix issue, you can attempt to send that mail again. Mail ID inside queue remains same even if mail gets deferred again and again. | ||
+ | |||
+ | Attempt to send all email from mail queue | ||
+ | Once you rectify issue and confident about delivery, you may try flushing entire queue immediately using: | ||
+ | < | ||
+ | postqueue -f | ||
+ | </ | ||
+ | |||
+ | Deleting Pending mails from queue | ||
+ | Sometimes you realize that all stuck emails are being sent to non-existent emails. Most likely emails generated because of some spam activity. | ||
+ | |||
+ | Delete All Deferred Mails | ||
+ | In that case, you can simply delete all queued mails using: | ||
+ | < | ||
+ | postsuper -d ALL deferred | ||
+ | </ | ||
+ | Delete a single mail from queue | ||
+ | If you want to just delete one mail, you can try: | ||
+ | < | ||
+ | postsuper -d DA80E24A0A | ||
+ | </ | ||
+ | |||
+ | Delete mails to a specific mail address | ||
+ | You need to some work here as postfix has no direct command for this. | ||
+ | |||
+ | Following sample is taken from postsuper man page: | ||
+ | < | ||
+ | mailq | tail -n +2 | grep -v '^ *(' | awk 'BEGIN { RS = "" | ||
+ | </ | ||
+ | |||
+ | Just replace USER@EXAMPLE.COM with receiver email address. | ||
+ | |||
+ | $8 will contain recipient1 email-address, | ||
+ | |||
+ | If you want to filter from-email address, use $7 variable. |
postfix_queue_management.txt · Ultima modifica: 2020/06/12 17:27 da admin