您的位置:首页 > 运维架构

postfix邮件服务器维护

2014-12-30 09:26 453 查看
postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:

1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。

2. incoming:放置正在到达或队列管理进程尚未发现的邮件。

  3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。

  4. deferred:放置不能被投递的邮件。

常用日常维护指令:

1.启动postfix postfix start

2.停止postfix postfix stop

3.重新读取postfix(配置文件配置文件有改动后) postfix reload

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

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

6.使用postsuper 来维护队列。

一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。

例如id是0EAF3A9B 那么postsuper -d 0EAF3A9B

7.删除邮件队列(详细要看mailq和postsuper的用法)

postqueue -p 查看队列内容
postcat 查看队列里邮件内容
postsuper -d ALL (hold/deffered...) 删除某个队列里所有邮件

8.删带有某特征的
在《Postfix 权威指南》里有一个叫 pfdel 的 Perl 小程序,可以用它删除指定邮件地址的邮件(不管是发信人还是收信人的邮件地址),这个虽然方便,但是如果想要清除因为 maildir over quota 或者 Invalid user specified 错误而产生的邮件,还需要修改一下。下面是这四个程序:
pfdel.pl

luserdel.pl

moqdel.pl

jmoqdel.pl

其中,pfdel.pl 是用来删除队列中指定用户的邮件的,luserdel.pl 是用来删除队列中无效用户的邮件的,moqdel.pl 是用来删除队列中邮箱配额已满的用户的邮件的,jmoqdel.pl 是删除邮箱配额已满的用户的垃圾邮件箱的。
postfix_tools打包下载地址 : postfix_tools

9.修复队列以及任何权限错误 postfix check

10.查看邮件系统日志 tail -f /var/log/maillog (-f 参数用于实时显示,便于查看)

-----------------

postfix日志脚本

# statistic recipient
echo "Part one : - Top 10 Recipient domain "
fgrep to= /var/log/maillog | cut -d/< -f2 | cut -d/> -f1 | cut -d@ -f2 | sort | uniq -c | sort -nr |head
# statistic sender
echo "Part two: - Top 10 Sender domain "
fgrep from= /var/log/maillog | cut -d/< -f2 | cut -d/> -f1 | cut -d@ -f2 | sort | uniq -c | sort -nr | head
# statistic destination mail total count
echo "Part three: Total lines and sizes of log, And total mail sent"
cat /var/log/maillog | fgrep status=sent | wc -l | awk '{ print $1 }'
echo ""; echo "Scanning maillog for rejections:"
cat -fc /var/log/maillog | egrep reject: | cut -d : -f 5- | sort | uniq -c | sort -nr | grep -v '^ *[1-2] *[^ ]* [^ ]* from [^ ]*: 450 '
echo "Scanning maillog for warnings:"
cat /var/log/maillog | egrep warning: | cut -d : -f 5- | sort | uniq -c
echo "Scanning maillog for trouble:"
cat /var/log/maillog | egrep '(fatal|panic):'
检查hash文件结果的命令
postmap -q xxxxxx@163.com hash:permited_sender
postmap -q "xxxxxx@163.com " mysql:/usr/local/etc/postfix/mysql-sender.cf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息