postfix 邮箱日常维护指令

系统服务   postfix维护  
邮件队列被某一个账号不停的外发垃圾邮件堵死

解决方法
被堵的邮件一般都存在以目录,最简单的办法就是把/var/spool/postfix/下这些目录~迁移。
1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。
2. incoming:放置正在到达或队列管理进程尚未发现的邮件。
3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。
4. deferred:放置不能被投递的邮件。

PS:要注意先把正常邮件的ID用脚本找出来~然后在迁移后的目录中把正常的邮件找回来~投递出去;


删除关于某邮箱用户队列的所有邮件
#!/bin/sh
user=$1  
if [ -z $user ] ;then  
echo "Usage like delete_mailq.sh example@readnovel.com"  
exit  
fi  
mailq | awk -v user=$user 'BEGIN{RS=""}  {if($NF==user) {print $1} }'| tr -d '*'|xargs -n 1 postsuper -d  

postfix 日常操作指令
#启动postfix
service postfix start

#停止postfix
service postfix stop

#重新读取postfix配置文件
service postfix reload

#立即投递队列中所有邮件(慎用)
service postfix flush

#查看队列邮件
postqueue -p  
mailq  
postqueue -p |tail

使用postsuper 来维护队列。
一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。
例如id是0EAF3A9B 那么postsuper -d 0EAF3A9B

#删除邮件队列
mailq | tail +2 | awk 'BEGIN { RS = "" } / chen@example\.org$/ { print $1 }' | tr -d '*!' | postsuper -d -

#详细要看mailq和postsuper的用法修复队列以及任何权限错误
service postfix check

#查看邮件系统日志
tail -f /var/log/maillog 

#显示信件列表
postqueue -p

#显示信件內容 
postcat -q Queue_ID

#刪除各別信件
postsuper -d Queue_ID

#全部刪除
postsuper -d ALL

#扣住信件 
postsuper -h Queue_ID  
回复:postsuper -H Queue_ID

#重新排程
postsuper -r Queue_ID  
postsuper -r ALL

#清除信件
postqueue -f (全部)  
postqueue -s 主机名称(个别对象)

#查看Postfix的当前主要配置文件的存放路径
postconf -n

系统日志             
tail -f /var/log/messages

邮件日志
tail -f /var/log/maillog

clamd相关  
tail -f /var/log/clamav/clamd.log  
tail -f /var/log/clamav/freshclam.log

maildrop相关  
tail -f /var/log/maildrop.log

apache相关  
tail -f /usr/local/httpd/logs/error_log  tail -f /usr/local/httpd/logs/suexec_log

mysql相关  
tail -f /usr/local/mysql/data/locahost.err


postsuper -d ALL  这样就删除所有邮件啦linux