We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
[HowTo] Flush/Clear/Delete Postfix Mail Queue for VestaCP
[HowTo] Flush/Clear/Delete Postfix Mail Queue for VestaCP
This is short tutorial for clearing the mail queue from command line. Postfix is the mail server which is used to send mails, time to time there will increase in mail queue which contains failed email in order to check and clear the mail queue just run this following command from terminal/ssh.
To check mail queue:
To remove all mail from the queue:
To remove all mails in the deferred queue:
Also you can use this script to delete mail queue which contain certain keyword or email id :
and add this below code in mailq-del.pl and save it :
example usage of script :
To check mail queue:
Code: Select all
mailq
Code: Select all
postsuper -d ALL
Code: Select all
postsuper -d ALL deferred
Code: Select all
cd /root
touch mailq-del.pl
chmod 775 mailq-del.pl
nano mailq-del.pl
Code: Select all
#!/usr/bin/perl
$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@gmail.com)!";
@data = qx</usr/sbin/postqueue -p>;
for (@data) {
if (/^(\w+)(\*|\!)?\s/) {
$queue_id = $1;
}
if($queue_id) {
if (/$REGEXP/i) {
$Q{$queue_id} = 1;
$queue_id = "";
}
}
}
#open(POSTSUPER,"|cat") || die "couldn't open postsuper" ;
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;
foreach (keys %Q) {
print POSTSUPER "$_\n";
};
close(POSTSUPER);
Code: Select all
cd /root
./mailq-del.pl [email protected]
or
./mailq-del.pl keyword