Postfix queue management

Haven’t touched Postfix in a long time since I do very little administration work anymore, but recently found a server that had a ton of mail queued up.

The way I used to manage it was with qvmenu.pl. You could find it here – http://taz.net.au/postfix/scripts/qvmenu.pl – it shows a graphical (curses based) user interface that allows you to select messages, read them, delete them, etc.

What if I wanted to really delete a ton of messages though? I did a quick search and found http://www.howtoforge.com/delete-mails-to-or-from-a-specific-email-address-from-postfix-mail-queue and modified the command to work for me. I decided to run these commands:
mailq | tail +2 | awk ‘BEGIN { RS = “” } / MAILER-DAEMON*/ { print $1 }’ | tr -d ‘*!’ | postsuper -d –
mailq | tail +2 | awk ‘BEGIN { RS = “” } / root@wuhan\.shocknetwork\.com$/ { print $1 }’ | tr -d ‘*!’ | postsuper -d –

This way, I’m getting rid of all of the bounce and double bounce messages and also the ones from root that probably aren’t important.

Zimbra – postfix transport

Instead of using the /etc/postfix/transport flat file for routing, Zimbra allows you to set this via the command line:
./zmprov cd excite.com zimbraMailTransport smtp:xmxatip.excite.com zimbraDomainType transport

In this case here, the mail domain we’re changing the MTA to is xmxatip.excite.com and the domain is excite.com so that all email to excite.com will go to xmxatip.excite.com.

What changed on the back end is that there’s an entry written to the ldap server:
# excite.com
dn: dc=excite,dc=com
zimbraMailStatus: enabled
zimbraId: 50243e3e-2435-4366-8c18-33697b15f136
dc: excite
zimbraDomainName: excite.com
zimbraDomainType: transport
zimbraMailTransport: smtp:xmxatip.excite.com
objectClass: dcObject
objectClass: organization
objectClass: zimbraDomain
o: excite.com domain

# people, excite.com
dn: ou=people,dc=excite,dc=com
ou: people
objectClass: organizationalRole
cn: people