EMOS-timed out while sending message body

往深发银行发送邮件,速度缓慢,2个多小时后对方才能收到邮件,检查日志,发现报错:

timed out while sending message body

搜索相关资料后发现最终问题:

用tcpdump侦测发现“icmp host unreachable admin prohibited”,分析导致这个问题的原因是防火墙中阻止了ICMP消息,在iptables中开放icmp就没有问题了。
打开/etc/sysconfig/iptables,注释以下行:
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
,然后重新启iptables,再刷新postfix队列。OK

(为什么自己就没想到用tcpdump来检查呢)

原文:http://www.extmail.org/forum/thread-12332-1-1.html

另外一个相同问题的不同原因:http://blog.sina.com.cn/s/blog_485acedb0100f9ka.html

EMOS 彻底关闭反病毒和防垃圾邮件功能

        由于搭建的EMOS邮件系统,采用了邮件网关,postfix收发邮件网关都会进行防病毒和反垃圾邮件处理。因此,EMOS自带的防病毒和反垃圾邮件功能就需要停止,顺便提高postfix收发邮件的性能。

 1、修改main.cf配置文件,红色部分为需要注释的部分 

# smtpd related config

smtpd_recipient_restrictions =

       permit_mynetworks,

       permit_sasl_authenticated,

       reject_non_fqdn_hostname,

       reject_non_fqdn_sender,

       reject_non_fqdn_recipient,

       reject_unauth_destination,

       reject_unauth_pipelining,

       reject_invalid_hostname#

#check_policy_service inet:127.0.0.1:10030

#header_checks = regexp:/etc/postfix/dspam_header_checks

# Content-Filter

#content_filter = smtp-amavis:[127.0.0.1]:10024

#receive_override_options = no_address_mappings

       2、修改master.cf配置文件,红色部分为需要注释的部分

#

# DSPAM training settings

#

#retrain unix    –       n       n       –       –       pipe

# flags=Rhq user=dspam argv=/usr/bin/dspam –client –mode=teft –class=$nexthop #–source=corpus –user extmail –deliver=spam,innocent

#spamtrap unix   –       n       n       –       –       pipe

# flags=Rhq user=dspam argv=/usr/bin/dspam –client –mode=teft –class=spam #–source=inoculation –user extmail

#smtp-amavis unix    –    –    n    –    3    smtp

#    -o smtp_data_done_timeout=1200

#    -o smtp_send_xforward_command=yes

#    -o disable_dns_lookups=yes

#    -o max_use=10

然后停掉相关服务,节约系统资源:

service amavisd stop
service clamd stop
service dspam-webd stop
service dspamd stop
service spamassassin stop

chkconfig amavisd off
chkconfig clamd off
chkconfig dspam-webd off
chkconfig dspamd off
chkconfig spamassassin off

spamhaus 反垃圾邮件组织

EMOS做的企业邮局,往163邮箱发送邮件没问题,往新浪,hotmail之类的国际邮箱发送的时候就出错了,信被退了回来:

 The mail system

<networkinbox@sina.com>: host freemx3.sinamail.sina.com.cn[60.28.2.248] said:
    550 #5.7.1 Your access to submit messages to this e-mail system has been
    rejected. (in reply to RCPT TO command)

经一番查询,原来是被spamhaus 反垃圾邮件组织把我的服务器IP加入到黑名单里了。新浪用的它们的过滤名单。

查询地址:http://www.spamhaus.org/lookup.lasso

可以根据提示进行解封,但是我一直没收到确认邮件!郁闷,继续跟进~

tar: 从成员名中删除开头的“/”

写了个脚本,用来备份服务器中的web和数据库,测试的时候报如下错误:

tar: 从成员名中删除开头的“/”

CODE:

#!/bin/bash
backdir=”/backup”
dirname=”$(date +%Y-%m-%d-%H-%M)”
DIR=”nq db”
for dir in $DIR
do
     mkdir -p $backdir/$dirname/$dir
done

# web backup
targz=”nq.tar.gz”
tar zcf $backdir/$dirname/nq/$targz /site/nq

# database backup
dbtargz=”db.tar.gz”
cd /var/lib/mysql
mysqldump –opt -u root -p –password=root NQ> $backdir/$dirname/db/NQ.sql
tar zcf $backdir/$dirname/db/$dbtargz $backdir/$dirname/db/NQ.sql
rm -rf $backdir/$dirname/db/NQ.sql

在Linux中,tar打包的时候,不论是创建还是解压tar包, 默认情况下绝对路径中的根”/”将会被去除, 可用参数P来保留

修改为:tar zcfP $backdir/$dirname/nq/$targz /site/nq 即可。