查看邮件队列里面什么的邮件多
2012-02-08 21:40
267 查看
1、mailq查看邮件队列
2、查看邮件队列里面什么的邮件多用如下命令:
#/usr/sbin/postqueue -p|grep -o "[0-9a-zA-Z][0-9a-zA-Z_.]*@[0-9a-zA-Z][0-9a-zA-Z_.-]*"|sort|uniq -c|sort -nr|more
如果是prima系统那就是
3、清理邮件队列的工具下载地址
http://www.parallels.com.cn/downloads/Prima/Tools/40-delete_mail_queue.tar.gz
清除邮件队列工具集
*** 安装 ***
tar zxf delete_mail_queue.tar.gz
./install.sh
将
deletemailqueue.sh
purgequeue.sh
purgerootmail.sh
purgetmp.sh
4个工具安装到/usr/prima/sbin/下
*** purgequeue.sh清除所有退信队列 ***
执行:
/usr/prima/sbin/purgequeue.sh
会将所有发件人是MAILER-DAEMON的邮件队列删除。
*** purgerootmail.sh清除root用户的邮件 ***
执行:
/usr/prima/sbin/purgerootmail.sh
会将root用户的邮件删除,这一般都是退信等
*** purgetmp.sh清除所有用户的临时目录中的邮件 ***
执行:
/usr/prima/sbin/purgetmp.sh
会将所有用户的临时目录中的邮件
*** 如果要每10分钟运行一次清退信程序 ***
编辑/etc/crontab,加入:
*/10 * * * * vmail /usr/prima/sbin/purgequeue.sh
*** 如果要删除某个发件人(例如:junk@domain.com)发出的邮件,要修改purgequeue.sh:
mailq|grep MAILER-DAEMON|awk '{ if ( NF > 1 ) print $1}'| awk -F '*' '{print $1}' | $deletemailqueue
改为:
mailq|grep junk@domain.com|awk '{ if ( NF > 1 ) print $1}'| awk -F '*' '{print $1}' | $deletemailqueue
即可
------------------------------------------------------------------------------------------
不用工具的话,可以用如下方法:
进入/usr/prima/postfix/sbin目录,执行 postsuper -d ALL删除所有的队列邮件
#cd /usr/prima/postfix/sbin
[root@mail sbin]# postsuper -d ALL 执行完会显示
postsuper: Deleted: 234673 messages 如这样的信息
反垃圾规则:在main.cf里面加入这个,这样发也很快,收也很快.
smtpd_sender_restrictions = reject_unauth_pipelining,
permit_mynetworks,
reject_unknown_recipient_domain,
permit_sasl_authenticated,
xheader_if_reject reject_unknown_client,
xheader_if_reject reject_unknown_hostname,
xheader_if_reject reject_unknown_sender_domain,
xheader_if_reject reject_invalid_hostname,
xheader_if_reject reject_non_fqdn_hostname,
xheader_if_reject reject_non_fqdn_sender,
xheader_if_reject reject_non_fqdn_recipient,
check_sender_access hash:/usr/prima/postfix/conf/freemail_access,
reject_unauth_destination
#smtpd_sender_restrictions =reject_unauth_destination
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = smtpd
--------------------------------------------------------------------------------------------------
用户发邮件有两个来源:
1. 使用smtp
2. 使用sendmail,用程序发信
可以用命令
grep sasl_username /var/log/maillog | awk '{print $9}'|sort
查看那些用户用SMTP发信
可以用命令
grep uid= /var/log/maillog | grep -v uid=0 | awk '{printf("%s %s\n", $7,$8)}' | sort
察看那些用户用sendmail发信。继而可以用
grep :x:UID: /etc/passwd
命令查到该用户是那个站点的。
本文出自 “冰鱼客” 博客,请务必保留此出处http://guailele.blog.51cto.com/1156442/775000
2、查看邮件队列里面什么的邮件多用如下命令:
#/usr/sbin/postqueue -p|grep -o "[0-9a-zA-Z][0-9a-zA-Z_.]*@[0-9a-zA-Z][0-9a-zA-Z_.-]*"|sort|uniq -c|sort -nr|more
如果是prima系统那就是
#/usr/prima/postfix/postqueue -p|grep -o "[0-9a-zA-Z][0-9a-zA-Z_.]*@[0-9a-zA-Z][0-9a-zA-Z_.-]*"|sort|uniq -c|sort -nr|more
3、清理邮件队列的工具下载地址
http://www.parallels.com.cn/downloads/Prima/Tools/40-delete_mail_queue.tar.gz
清除邮件队列工具集
*** 安装 ***
tar zxf delete_mail_queue.tar.gz
./install.sh
将
deletemailqueue.sh
purgequeue.sh
purgerootmail.sh
purgetmp.sh
4个工具安装到/usr/prima/sbin/下
*** purgequeue.sh清除所有退信队列 ***
执行:
/usr/prima/sbin/purgequeue.sh
会将所有发件人是MAILER-DAEMON的邮件队列删除。
*** purgerootmail.sh清除root用户的邮件 ***
执行:
/usr/prima/sbin/purgerootmail.sh
会将root用户的邮件删除,这一般都是退信等
*** purgetmp.sh清除所有用户的临时目录中的邮件 ***
执行:
/usr/prima/sbin/purgetmp.sh
会将所有用户的临时目录中的邮件
*** 如果要每10分钟运行一次清退信程序 ***
编辑/etc/crontab,加入:
*/10 * * * * vmail /usr/prima/sbin/purgequeue.sh
*** 如果要删除某个发件人(例如:junk@domain.com)发出的邮件,要修改purgequeue.sh:
mailq|grep MAILER-DAEMON|awk '{ if ( NF > 1 ) print $1}'| awk -F '*' '{print $1}' | $deletemailqueue
改为:
mailq|grep junk@domain.com|awk '{ if ( NF > 1 ) print $1}'| awk -F '*' '{print $1}' | $deletemailqueue
即可
------------------------------------------------------------------------------------------
不用工具的话,可以用如下方法:
进入/usr/prima/postfix/sbin目录,执行 postsuper -d ALL删除所有的队列邮件
#cd /usr/prima/postfix/sbin
[root@mail sbin]# postsuper -d ALL 执行完会显示
postsuper: Deleted: 234673 messages 如这样的信息
反垃圾规则:在main.cf里面加入这个,这样发也很快,收也很快.
smtpd_sender_restrictions = reject_unauth_pipelining,
permit_mynetworks,
reject_unknown_recipient_domain,
permit_sasl_authenticated,
xheader_if_reject reject_unknown_client,
xheader_if_reject reject_unknown_hostname,
xheader_if_reject reject_unknown_sender_domain,
xheader_if_reject reject_invalid_hostname,
xheader_if_reject reject_non_fqdn_hostname,
xheader_if_reject reject_non_fqdn_sender,
xheader_if_reject reject_non_fqdn_recipient,
check_sender_access hash:/usr/prima/postfix/conf/freemail_access,
reject_unauth_destination
#smtpd_sender_restrictions =reject_unauth_destination
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = smtpd
--------------------------------------------------------------------------------------------------
用户发邮件有两个来源:
1. 使用smtp
2. 使用sendmail,用程序发信
可以用命令
grep sasl_username /var/log/maillog | awk '{print $9}'|sort
查看那些用户用SMTP发信
可以用命令
grep uid= /var/log/maillog | grep -v uid=0 | awk '{printf("%s %s\n", $7,$8)}' | sort
察看那些用户用sendmail发信。继而可以用
grep :x:UID: /etc/passwd
命令查到该用户是那个站点的。
本文出自 “冰鱼客” 博客,请务必保留此出处http://guailele.blog.51cto.com/1156442/775000
相关文章推荐
- Linux系统下使用mail发送一封简单的Internet邮件【以及验证邮件是否发送成功sendmail -bp,必须是root用户才可以使用此命令查看邮件消息队列中的内容】
- linux/unix 下 删除sendmail -bp 邮件队列;查看sendmail发送邮件日志
- 从点击Button到弹出一个MessageBox, 背后发生了什么(每个UI线程都有一个ThreadInfo结构, 里面包含4个队列和一些标志位)
- eclipse里面ctrl+T查看继承树,左边的这些绿色红色,F,S,C代表什么意思
- 查看jar里面到底什么鬼~(hadoop学习wordcount程序代码查看)
- 查看Exchange邮件队列(queue)
- Postfix邮件队列查看方法
- 查看邮件队列与清空
- 在运行里面输入什么命令,可以查看开机启动项
- 如何设置在IE 邮件查看Source 的方法
- Oracle 10g如何查看修改连接数,进程数及用户数,三者之间有什么关系?
- [case分享]Exchange 2010 登陆OWA查看邮件出现Rights managem operation failed
- 怎么查看其它apk里面的布局代码及资源
- 在ddms 里面查看data/data里面的东西 不显示data/data
- javascript查看一个对象中的属性和值,包括里面有嵌套的情况。
- postfix管理邮件队列的小程序
- 如何查看/dev/input/下的设备节点对应的是什么设备
- oracle 中--查看当前表空间在作什么操作
- 管理sendmail邮件队列文件和目录
- 关于“Mobile里面使用的是什么地图”的解答