Note: the below is for system administrators with root ssh access only.
It may be useful to someone, sometimes the queued mail list gets gigantic because of some spammer and other emails that aren’t spam could get deleted when using cPanel to control it.
==== REMOVE MAILS BY ID ==== /usr/sbin/exim -v -Mrm (MAIL ID HERE) ==== LIST QUEDED MAILS ==== /usr/sbin/exim -bp ==== OUTPUT NUMBER OF QUEDED MAILS ==== /usr/sbin/exim -bpc ==== DELETE FROZEN MAILS ==== /usr/sbin/exim -bp | awk '$6~"frozen" { print $3 }' | xargs exim -Mrm ==== DELIVER FORCEFULLY EMAILS ==== /usr/sbin/exim -qff -v -C /etc/exim.conf & ==== FREEZE MAILS FROM SENDER ==== /usr/sbin/exiqgrep -i -f (MAIL ADDRESS HERE) | xargs exim -Mf ==== REMOVE MAILS FROM SENDER ==== /usr/sbin/exiqgrep -i -f (MAIL ADDRESS HERE) | xargs exim -Mrm
MORE COMMANDS
exim -M id #Try to send the message with id id exim -qf #Tell exim to process the entire queue again exim -qff #same as qf, but it will flush the frozen messages exim -Mvl id #view the message log for message id exim -Mvh id #view message id's headers exim -Mvb id #view message id's body exim -Mrm id #remove message id from the queue exim -Mg id #fail and send a bounce to the sender exim -bp | exiqsumm #Print summary of the messages in the queue exiwhat #show what exim is doing right now exim -bpc #show number of messages in the queue exim -bp #print list of messages in the queue
Display the version of Exim and the location of Exim configuration file:
exim -bV
Display the current configurations of Exim:
exim -bP
Count the number of email messages in the queue, and display the total number of messages to the standard output:
exim -bpc
Display the email messages in the queue (time queued, message size, message id, sender and recipient):
exim -bp
Dispaly a summary of email messages in the queue (count, volume, oldest, newest, domain, and totals):
exim -bp | exiqsumm
View the log for the email message:
exim -Mvl <messageID>
View the body of the email message:
exim -Mvb <messageID>
View the header of the email message:
exim -Mvh <messageID>
Search the queue for email messages from a specific email address:
exiqgrep -f [email protected]
Search the queue for email messages to a specific email address:
exiqgrep -r l [email protected]
Freeze all queued mail from a specific sender:
exiqgrep -i -f l [email protected] | xargs exim -Mf
Remove a single email message with <messageID> from the queue:
exim -Mrm <messageID>
Delete all frozen email messages:
exiqgrep -z -i | xargs exim -Mrm or: exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm
Try to deliver the email message with <messageID> from email queue:
exim -M <messageID>
Delete all email messages in the queue:
exim -bpru|awk {.print $3'}|xargs exim -Mrm
Process the entire queue again:
exim -qf
Force another queue run and attempt to flush the frozen messages:
exim -qff
Test how Exim will route to a given email address:
exim -bt [email protected]