大猪小猪落玉盘
标签类目:mail

解决邮件编码无法解析的问题

对于邮件一直是一知半解,从来没好好深入的了解一下邮件服务器的工作原理。
邮件接收后无法查看内容,打开以后都是如下格式:

=D0=B3=A1=CD=C6=B9=E3 | =C3=F1=D3=AA | =B9=E6=C4=A3:20-99=C8=CB | 4001-=
6000=D4=AA/=D4=C2<br>=D6=F7=D2=AA=B8=BA=D4=F0=D2=C0=CD=D0=D3=DA=D2=F8=D0=
=D0=BC=B6=CA=FD=BE=DD=BF=E2=B5=C4=B2=FA=C6=B7=CF=FA=CA=DB=B9=A4=D7=F7=A3=
=AC=CD=D8=D5=B9=D2=D4=D6=D0=B8=DF=B6=CB=C8=CB=C8=BA=CE=AA=C4=BF=B1=EA=BF=

看了一下,html代码和数字显示正常,只是所有的汉字都没有显示,应该是编码的问题。仔细看了一下邮件头

Subject: =?gb2312?B?KFpoYW9waW4uY29tKSDTpsa4ILjf?=
=?gb2312?B?vLa/zbunvq3A7S2xsb6pLcH1vaP=?=
Date: Fri, 22 Jan 2010 13:24:04 +0800
Importance: High
X-Priority: 1
Message-ID: <20100122-13240404-a64@*.com.cn>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary=”–=6830148FF84F4186BA34_DC66_4CC4_F18C”
X-Spam-Status: No

—-=6830148FF84F4186BA34_DC66_4CC4_F18C
Content-Type: text/html;charset=”gb2312″
Content-Transfer-Encoding: Quoted-Printable

<html><head><title></title><META http-equiv=3D”Content-Type” content=3D=
“text/html; charset=3DGB2312″></head><body><style type=3D”text/css”>
td,p,div,span {font-size:12px;color:#000000;font-family:=CB=CE=CC=E5;}
</style>

一打眼上去看不出有什么区别,该有的参数都有了,编码也正常,内容正本样式也正常,比对了一个没有问题的邮件,发现还是有所区别的,Quoted-Printable大小写的问题,别的都是quoted-printable,改了一下,页面刷新没问题了,剩下就好办了,找到具体的解析程序,修改之。include/prev_inc.php里面处理一下$Content_Transfer_Encoding=strtolower($Content_Transfer_Encoding);

具体参考了http://bbs.igenus.org/discuz/viewthread.php?tid=1456

相关资料:

Content-Transfer-Encoding:
它说明了对数据所执行的编码方式,客户/MUA将用它对附件进行解码。对于每个附件,可以使用7bit,8bit,binary ,quoted-printable,base64和custom中的一种编码方式。7bit编码用在US ASCII字符集上的常用的一种编码方式。8bit 和binary编码一般不用。对可读的标准文本,如果传输要经过对格式有影响的网关时对其进行保护,可以使用quoted printable 。Base64一种通用方法,在需要决定使用哪一种编码方法时,它提供了一个不用费脑子的选择;它通常用在二进制,非文本数据上。注意,任何非7bit 数据必须用一种模式编码,这样它就可以通过Internet邮件网关。

Email修改邮件白名单,让特定邮箱一路畅通

邮件服务器默认的设置通常都会屏蔽很多招聘网站发过来的邮件,因此对于招聘的邮箱要单独设置一下白名单

/etc/MailScanner/rules/spam.whitelist.rules
From:           @quickmail.51job.com    yes
From:           @quickjobs.51job.com    yes
From:           @51job.com      yes
From:           @zhaopinmail.com        yes
From:           @support150.zhaopinmail.com     yes
From:           @zhaopin.com.cn yes
From:           211.99.198.250  yes

在这里面增加了以后就会彻底不判断spam了,直接通过。 service spamd restart重启一下即可。
可以根据ip、具体地址、地址后缀、*匹配,很灵活。

往sina邮箱发不了信件了

This is the Postfix program at host mail.bomtu.com.

I’m sorry to have to inform you that your message could not be delivered to one or more recipients. It’s attached below.

For further assistance, please send mail to <postmaster>

If you do so, please include this problem report. You can delete your own text from the attached returned message.

The Postfix program

<vs***e@sina.com>: host freemx2.sinamail.sina.com.cn[218.30.115.106] said:

550 #5.7.1 Your access to submit messages to this e-mail system has been

rejected. (in reply to RCPT TO command)

好像是ip被弄进黑名单了,昨天还好好的,也没乱发什么邮件啊,真奇怪,明天再观察一下。

BTW:

20100121今天同样的附件,同样的内容,同样的邮箱,又能发送了,还是找不到原因。

返回顶部