一、Email的原理
Email邮件系统由用户代理MUA-->输出队列Outgoing Queue-->报文传输代理message transfer agent -->邮箱mailbox组成。具体流程如下:
1、 客户机通过邮件用户代理将邮件发送到输出队列,等待发送
2、 邮件通过发送方的传输代理进行传送,传送给接收方的传输代理MTA
3、 MTA传送给邮箱-收件方的用户代理MUA,最终传递给客户机
其中邮件核心部分
1、 MTA负责完成邮件的存储和转发
2、 两个MTA之间通过TCP协议连接
3、 MTA使用的主要协议有SMTP、POP3
二、Email编码标准
一般电子邮件在送达到收件人的过程中,要经过多台主机的转接、传输服务。如果多台主机间编码方式不同,如分别使用ASCII或8-bit clean,邮件可能会被破坏。所以无论邮件的内容是汉字或图片,在发送之前都统一进行编码。
常见的email编码有:
1、UU编码 unix-to-unix encoding,使用UU编码后的内容形如 ?7T]/*O/[“TL+KU*W
2、MIME编码 multipurpose internet mailextension,多媒体邮件传送模式,可传送各种格式的多媒体文件。MIME编码中定义了两种编码方式Base64和QP(Quote-printable)。
1)QP适用于非ASCII码的文字内容,例如中文文件,编码之后的外观类似于“=C2=D2=EB=AD=C0”,它将8位字符表示为3位(1个=和两个十六进制数),一个汉字一般都以两个8位字符表示,故使用QP会编码成6个字符,例如“=C2=D2”表示“乱”字。
2)Base64一般用于以附件的方式发出的各种文件进行编码,邮件头上会有“Content-Transfer-Encoding:base64”字样。