邮件队列被某一个账号不停的外发垃圾邮件堵死
解决方法
被堵的邮件一般都存在以目录,最简单的办法就是把/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