Unfreeze messages in Exim queue
Наскоро на един от WHM сървърите ми, се наложи да се занимавам с freeze-нати писма от мейл сървъра exim.
За разлика от postfix, където няма схема “freeze”, а самите писма от опашката се изпращат супер лесно :
postqueue -f
при exim нещата са доста по-сложни.
Поради тази причина и пиша този пост за да споделя как се прави това.
Какви писма има в опашката на exim се проверява така :
exim -bp
А чрез използването на while се пише следния ред, които unfreeze-ва тези писмa :
exim -bp | grep -i frozen | awk '{print $3}' | while read LINE; do exim -Mt $LINE; done
Други полезни exim queue команди:
Опитва да изпрати писмо с определено ID:
/usr/sbin/exim -M email-id
Принудително пуска още една опашка да върви:
/usr/sbin/exim -qf
Виждаме лога на писмото:
/usr/sbin/exim -Mvl messageID
Виждаме тялото (body) на писмото:
/usr/sbin/exim -Mvb messageID
Виждаме началото (header) на писмото:
/usr/sbin/exim -Mvh messageID
Изтрива писмото без да изпраща никакви съобщения за грешки:
/usr/sbin/exim -Mrm messageID
Показва броя на писмата в опашката:
/usr/sbin/exim -bpr | grep "<" | wc -l
Показва броя на freeze-натите писма в опашката:
/usr/sbin/exim -bpr | grep frozen | wc -l
Изтрива всички frozen писма:
/usr/sbin/exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm
Изтрива цялата опашка на exim-а:
/usr/sbin/exim -qff
Повече информация може да се намери в документацията на exim.