c++语言pop3协议得到的邮件内容怎么解析

Python010

c++语言pop3协议得到的邮件内容怎么解析,第1张

邮件内容协议分成很多个段落

首先是日期 Date: RFC 5322 日期格式

然后是收件人发件人段,“To:” 和 "From",以及抄送 "Cc:“ 和 "Bcc“

随后是“Message-ID: “,用于服务器在消息流通中不至于重复发送和存储,识别邮件的唯一性。

最后一段比较关键,格式类似于这样:

MIME-Version: 1.0\r\nContent-type: multipart/alternativeboundary=\"\(boundary)\"\r\n\r\n

意思是表示邮件采用MIME内容编码,可以是多个组成部分,由边界线boundary划分为多个数据区。数据区之间的内容可以是html或者普通文本(参考下列代码)关键是所有文本内容都是用 base64编码重新编排过,所以要用decode_base64解开才能读取。

f !text.isEmpty {    

body += "--\(boundary)\r\nContent-Type: text/plain charset=UTF-8 format=flowed\r\n\r\n\(text)\r\n\r\n"    

}    

if !content.isEmpty {    

body += "--\(boundary)\r\nContent-Type: text/htmlcharset=UTF-8\r\n\r\n\(content)\r\n\r\n"    

}

直接去解析是比较费劲的,因为其实整个编码都是采用了http传输协议的 mime 方式。建议用现成的开源代码去读去,比如CHTTPParser,速度快,效率高,都已经通过几十年检验了的成熟代码。

VI编辑器 #vi /etc/network/interface 如果你是单块网卡在安装系统时自动获取会是如下(回环地址省略) auto eth0 iface eth0 inet dhcp 此时你要修改为指定IP时需要改成如下 auto eth0 iface eth0 inet static address 192.168.1.100 netmas