邮件队列相关:
Postsuper:postsuper命令是postfix队列维护作业。该命令的使用仅限于超级用户。
默认情况下,postsuper执行在所有Postfix队列目录中使用-s和-p命令行选项所请求的操作,这包括带有邮件文件的传入,活动和 延迟目录以及反弹, 延迟,跟踪和刷新目录与日志文件。
Postsuper语法格式:
postsuper [-psSv] [-c config_dir] [-d queue_id] [-h queue_id] [-H queue_id] [-r queue_id] [directory ...]
参考链接:
http://www.tutorialspoint.com/unix_commands/postsuper.htm
http://www.postfix.org/postsuper.1.html
Mailq语法:mailq [-q]
mailq可列出待寄邮件的清单,包括邮件ID,邮件大小,邮件保存时间,寄信人,收信人,以及邮件无法寄出的原因,提供管理员参考的信息。mailq实际上是执行sendmail -bp指令。参数: -v 显示较详细的信息。
1.查询邮件列表:
postqueue -p
mailq
postqueue -p |tail
postqueue -p | wc -l
2. 显示邮件內容:postcat -q Queue_ID
2.删除队列:
- 删除队列中所有退信邮件:postsuper -d ALL deferred
- 刪除某ID邮件:postsuper -d Queue_ID
- 清空某用户邮箱队列所有邮件
mailq | awk "/[email protected]/ {print $1}" | tr -d "*" | xargs -n 1 postsuper -d
- 全部刪除(该操作会删除所有队列信息,请三思):postsuper -d ALL
- 删除邮件队列
mailq | tail +2 | awk 'BEGIN { RS = "" } / [email protected]\.org$/ { print $1 }' | tr -d '*!' | postsuper -d
postsuper -d ALL hold/deffered... 删除某个队列里所有邮件
postqueue -f (全部)
postqueue -s 主机名称(个别对象)
- 清除单个用户的邮件队列postquene
#!/bin/bash
cd /tmp
/usr/sbin/postqueue -p|egrep '[email protected]'|awk '{print $1}' > spam_queue.txt
for i in `cat /tmp/spam_queue.txt`
do
/usr/sbin/postsuper -d $i
done
3.其他操作:
- 扣住邮件:postsuper -h Queue_ID
- 回复某邮件:postsuper -H Queue_ID
- 重新排程:
postsuper -r Queue_ID
postsuper -r ALL
- 立即投递队列中所有邮件(慎用):postfix flush
- 查看队列邮件:postqueue -p
服务相关:
- Postfix启动:postfix start
- Postfix停止:postfix stop
- 重新加载postfix配置文件:/usr/sbin/postfix
- 查看mailq和postsuper用法修复队列等:postfix check
- postmap 检查语法错误,或使文件立即生效。
- Postmap mail.c 文件中有语句错误,
- Postmap virtual 是加密生效
- Postalias /etc/alias 使邮件别名文件立刻生效
日志相关:
- 邮件日志:tail -f /var/log/maillog
- 系统日志:tail -f /var/log/messages
- Clamd相关:tail -f /var/log/clamav/clamd.log tail -f /var/log/clamav/freshclam.log
- maildrop相关:tail -f /var/log/maildrop.log
Eg.tail -f /var/log/maillog -n 10
Postfix及Extmail日常使用相关笔记信息。