设计人:宋普阳
时间: 2004-10-30
摘要:临时设计说明
最后修改日期: 2004-12-5
参考 Foxmail5.0 的邮件格式
1 邮件头的规定:
Line1: 邮件开端 tag
自行规定
Line2: 日期
Date: Sat, 4 Dec 2004 01:04:17 +0800( 冒号后有空格,以下同 )
提取系统日期时间
Line3: 发信人
From: "azure" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.From(string)
Line4: 收信人
To: "bsk_azuredragon" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.To(string)
Line5: 抄送
To: "bsk_azuredragon" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.Cc(string)
Line6: 暗送
To: "bsk_azuredragon" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.Bcc(string)
Line7: 主题
Subject: sub
对应的变量 : EXmail.mail.Subject(string)
Line8: 邮件客户端
X-mailer: Mail XP 1.0
字符串常量
Line9: Mime 版本
Mime-Version: 1.0
字符串常量
Line10: 优先级
Priority : Low
对应的变量 : EXmail.mail.Priority(MailPriority)
2 邮件体的规定
首先是内容类型,字符集
Content-Type: text/plain; ( 有分号,详细见下 )
charset="gb2312"( 前面是个 \t)
对应的变量 : EXmail.mail.BodyFormat(MailFormat)
邮件体的详细格式
(1) 如果邮件为单封无格式 Text ,类型为 text/plain ,字符集为 "gb2312" 。后面直接开始内容
Content-Transfer-Encoding: base64( 编码类型 )
(空行)
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0KCXNkc2RhZGRhZGFzDQoNCqGhoaGhoaGhoa
GhoaGhoaHWwg0KwPGjoQ0KIAkJCQkNCg0KoaGhoaGhoaGhoaGhoaGhoXNweQ0KoaGhoa
GhoaGhoaGhoaGhoWJza19henVyZWRyYWdvbkBob3RtYWlsLmNvbQ0KoaGhoaGhoaGhoaGh
oaGhoaGhoaEyMDA0LTEyLTA1DQo= ( base64 编码)
(2) 如果邮件为有附件 Text ,类型为 multipart/mixed ,则要起 boundary
boundary="=====001_XXXXXXXXXXXX…X=====" ( 此处仍有 \t , XXX 部分字数形式和内容自定 )
This is a multi-part message in MIME format. ( 常量 )
( 以下接正常文本,同上 ) --=====001_XXXXXXXXXXXX…X=====
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0KCXNkc2RhZGRhZGFzDQoNCqGhoaGhoaGhoa
GhoaGhoaHWwg0KwPGjoQ0KIAkJCQkNCg0KoaGhoaGhoaGhoaGhoaGhoXNweQ0KoaGhoa
GhoaGhoaGhoaGhoWJza19henVyZWRyYWdvbkBob3RtYWlsLmNvbQ0KoaGhoaGhoaGhoaGh
oaGhoaGhoaEyMDA0LTEyLTA1DQo=
( 以下为附件 ) --=====001_XXXXXXXXXXXX…X=====
Content-Type: application/octet-stream; ( 类型为 application/octet-stream)
name="libeay32.dll" ( 文件名 )
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="libeay32.dll"
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmF
tIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v ( 附件 )
…
--=====001_XXXXXXXXXXXX…X=====--
(3) 如果为 HTML 格式,类型为 multipart/alternative ,也要起 boundary
boundary="=====003_XXXXXXXXXXXX…X====="
This is a multi-part message in MIME format.
--=====003_XXXXXXXXXXXX…X=====
( 先是文本信息,同 Text) Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0Kc2RzZGFkZGFkYXMNCg0KoaGhoaGhoaGhoa
GhoaGhodbCDQrA8aOhDQogDQoNCqGhoaGhoaGhoaGhoaGhoaFzcHkNCqGhoaGhoaGhoaG
hoaGhoaFic2tfYXp1cmVkcmFnb25AaG90bWFpbC5jb20NCqGhoaGhoaGhoaGhoaGhoaGhoaG
hMjAwNC0xMi0wNQ0K
--=====003_XXXXXXXXXXXX…X=====
( 然后再是 HTML) Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFu
c 2l 0aW9uYWwvL0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW
50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQS
Bjb250ZW50PSJNU0hUTUwgNi4wMC4yODAwLjExMDYiIG5hbWU9R0VORVJBVE9SPjwv
SEVBRD4NCjxCT0RZPjxGT05UIGZhY2U9y 87M 5SBzaXplPTI+DQo8RElWPmJza19henVyZ
WRyYWdvbqOsxPq6w6OhPC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJVj5zZHN
kYWRkYWRhczwvRElWPg0KPERJVj4mbmJzcDs 8L 0RJVj4NCjxESVY+oaGhoaGhoaGhoaGh
oaGhodbCPC9ESVY+DQo8RElWPsDxo6E 8L 0RJVj4NCjxESVY+IDwvRElWPg0KPERJVj4mb
mJzcDs 8L 0RJVj4NCjxESVY+oaGhoaGhoaGhoaGhoaGhoXNweTwvRElWPg0KPERJVj6hoaGh
oaGhoaGhoaGhoaGhYnNrX 2F 6dXJlZHJhZ29uQGhvdG1haWwuY29tPC9ESVY+DQo8RElWP
qGhoaGhoaGhoaGhoaGhoaGhoaGhMjAwNC0xMi0wNTwvRElWPjwvRk9OVD 48L JPRFk+PC
9IVE1MPg0K
--=====003_XXXXXXXXXXXX…X=====--
(4)HTML 格式带附件的情况
Content-Type: multipart/mixed;
boundary="=====001_XXXXXXXXXXXX…X ====="
This is a multi-part message in MIME format.
--=====001_ XXXXXXXXXXXX…X =====
Content-Type: multipart/alternative;
boundary="=====003_ XXXXXXXXXXXX…X ====="
( 文本内容 )
--=====003_ XXXXXXXXXXXX…X =====
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0Kc2RzZGFkZGFkYXMNCg0KoaGhoaGhoaGhoa
GhoaGhodbCDQrA8aOhDQoNCqGhoaGhoaGhoaGhoaGhoaFzcHkNCqGhoaGhoaGhoaGhoaGh
oaFic2tfYXp1cmVkcmFnb25AaG90bWFpbC5jb20NCqGhoaGhoaGhoaGhoaGhoaGhoaGhMjAw
NC0xMi0wNQ0K
(HTML 内容 )
--=====003_ XXXXXXXXXXXX…X =====
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFu
c 2l 0aW9uYWwvL0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW
50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQS
Bjb250ZW50PSJNU0hUTUwgNi4wMC4yODAwLjExMDYiIG5hbWU9R0VORVJBVE9SPjwv
SEVBRD4NCjxCT0RZPjxGT05UIGZhY2U9y 87M 5SBzaXplPTI+DQo8RElWPmJza19henVyZ
WRyYWdvbqOsxPq6w6OhPC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJVj5zZHN
kYWRkYWRhczwvRElWPg0KPERJVj4mbmJzcDs 8L 0RJVj4NCjxESVY+oaGhoaGhoaGhoaGh
oaGhodbCPC9ESVY+DQo8RElWPsDxo6E 8L 0RJVj4NCjxESVY+PC9ESVY+DQo8RElWPiZu
YnNwOzwvRElWPg0KPERJVj6hoaGhoaGhoaGhoaGhoaGhc3B5PC9ESVY+DQo8RElWPqGh
oaGhoaGhoaGhoaGhoaFic2tfYXp1cmVkcmFnb25AaG90bWFpbC5jb 208L 0RJVj4NCjxESVY+o
aGhoaGhoaGhoaGhoaGhoaGhoaEyMDA0LTEyLTA1PC9ESVY+PC9GT05UPjwvQk9EWT 48L
0hUTUw+DQo=
--=====003_ XXXXXXXXXXXX…X =====--
( 附件 )
--=====001_ XXXXXXXXXXXX…X =====
Content-Type: application/octet-stream;
name="libeay32.dll"
Content-Transfer-Encoding: base64
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmF
tIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
…
--=====001_ XXXXXXXXXXXX…X =====--
时间: 2004-10-30
摘要:临时设计说明
最后修改日期: 2004-12-5
参考 Foxmail5.0 的邮件格式
1 邮件头的规定:
Line1: 邮件开端 tag
自行规定
Line2: 日期
Date: Sat, 4 Dec 2004 01:04:17 +0800( 冒号后有空格,以下同 )
提取系统日期时间
Line3: 发信人
From: "azure" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.From(string)
Line4: 收信人
To: "bsk_azuredragon" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.To(string)
Line5: 抄送
To: "bsk_azuredragon" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.Cc(string)
Line6: 暗送
To: "bsk_azuredragon" <bsk_azuredragon@hotmail.com>
对应的变量 : EXmail.mail.Bcc(string)
Line7: 主题
Subject: sub
对应的变量 : EXmail.mail.Subject(string)
Line8: 邮件客户端
X-mailer: Mail XP 1.0
字符串常量
Line9: Mime 版本
Mime-Version: 1.0
字符串常量
Line10: 优先级
Priority : Low
对应的变量 : EXmail.mail.Priority(MailPriority)
2 邮件体的规定
首先是内容类型,字符集
Content-Type: text/plain; ( 有分号,详细见下 )
charset="gb2312"( 前面是个 \t)
对应的变量 : EXmail.mail.BodyFormat(MailFormat)
邮件体的详细格式
(1) 如果邮件为单封无格式 Text ,类型为 text/plain ,字符集为 "gb2312" 。后面直接开始内容
Content-Transfer-Encoding: base64( 编码类型 )
(空行)
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0KCXNkc2RhZGRhZGFzDQoNCqGhoaGhoaGhoa
GhoaGhoaHWwg0KwPGjoQ0KIAkJCQkNCg0KoaGhoaGhoaGhoaGhoaGhoXNweQ0KoaGhoa
GhoaGhoaGhoaGhoWJza19henVyZWRyYWdvbkBob3RtYWlsLmNvbQ0KoaGhoaGhoaGhoaGh
oaGhoaGhoaEyMDA0LTEyLTA1DQo= ( base64 编码)
(2) 如果邮件为有附件 Text ,类型为 multipart/mixed ,则要起 boundary
boundary="=====001_XXXXXXXXXXXX…X=====" ( 此处仍有 \t , XXX 部分字数形式和内容自定 )
This is a multi-part message in MIME format. ( 常量 )
( 以下接正常文本,同上 ) --=====001_XXXXXXXXXXXX…X=====
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0KCXNkc2RhZGRhZGFzDQoNCqGhoaGhoaGhoa
GhoaGhoaHWwg0KwPGjoQ0KIAkJCQkNCg0KoaGhoaGhoaGhoaGhoaGhoXNweQ0KoaGhoa
GhoaGhoaGhoaGhoWJza19henVyZWRyYWdvbkBob3RtYWlsLmNvbQ0KoaGhoaGhoaGhoaGh
oaGhoaGhoaEyMDA0LTEyLTA1DQo=
( 以下为附件 ) --=====001_XXXXXXXXXXXX…X=====
Content-Type: application/octet-stream; ( 类型为 application/octet-stream)
name="libeay32.dll" ( 文件名 )
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="libeay32.dll"
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmF
tIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v ( 附件 )
…
--=====001_XXXXXXXXXXXX…X=====--
(3) 如果为 HTML 格式,类型为 multipart/alternative ,也要起 boundary
boundary="=====003_XXXXXXXXXXXX…X====="
This is a multi-part message in MIME format.
--=====003_XXXXXXXXXXXX…X=====
( 先是文本信息,同 Text) Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0Kc2RzZGFkZGFkYXMNCg0KoaGhoaGhoaGhoa
GhoaGhodbCDQrA8aOhDQogDQoNCqGhoaGhoaGhoaGhoaGhoaFzcHkNCqGhoaGhoaGhoaG
hoaGhoaFic2tfYXp1cmVkcmFnb25AaG90bWFpbC5jb20NCqGhoaGhoaGhoaGhoaGhoaGhoaG
hMjAwNC0xMi0wNQ0K
--=====003_XXXXXXXXXXXX…X=====
( 然后再是 HTML) Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFu
c 2l 0aW9uYWwvL0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW
50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQS
Bjb250ZW50PSJNU0hUTUwgNi4wMC4yODAwLjExMDYiIG5hbWU9R0VORVJBVE9SPjwv
SEVBRD4NCjxCT0RZPjxGT05UIGZhY2U9y 87M 5SBzaXplPTI+DQo8RElWPmJza19henVyZ
WRyYWdvbqOsxPq6w6OhPC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJVj5zZHN
kYWRkYWRhczwvRElWPg0KPERJVj4mbmJzcDs 8L 0RJVj4NCjxESVY+oaGhoaGhoaGhoaGh
oaGhodbCPC9ESVY+DQo8RElWPsDxo6E 8L 0RJVj4NCjxESVY+IDwvRElWPg0KPERJVj4mb
mJzcDs 8L 0RJVj4NCjxESVY+oaGhoaGhoaGhoaGhoaGhoXNweTwvRElWPg0KPERJVj6hoaGh
oaGhoaGhoaGhoaGhYnNrX 2F 6dXJlZHJhZ29uQGhvdG1haWwuY29tPC9ESVY+DQo8RElWP
qGhoaGhoaGhoaGhoaGhoaGhoaGhMjAwNC0xMi0wNTwvRElWPjwvRk9OVD 48L JPRFk+PC
9IVE1MPg0K
--=====003_XXXXXXXXXXXX…X=====--
(4)HTML 格式带附件的情况
Content-Type: multipart/mixed;
boundary="=====001_XXXXXXXXXXXX…X ====="
This is a multi-part message in MIME format.
--=====001_ XXXXXXXXXXXX…X =====
Content-Type: multipart/alternative;
boundary="=====003_ XXXXXXXXXXXX…X ====="
( 文本内容 )
--=====003_ XXXXXXXXXXXX…X =====
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
YnNrX 2F 6dXJlZHJhZ29uo6zE+rrDo6ENCg0Kc2RzZGFkZGFkYXMNCg0KoaGhoaGhoaGhoa
GhoaGhodbCDQrA8aOhDQoNCqGhoaGhoaGhoaGhoaGhoaFzcHkNCqGhoaGhoaGhoaGhoaGh
oaFic2tfYXp1cmVkcmFnb25AaG90bWFpbC5jb20NCqGhoaGhoaGhoaGhoaGhoaGhoaGhMjAw
NC0xMi0wNQ0K
(HTML 内容 )
--=====003_ XXXXXXXXXXXX…X =====
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFu
c 2l 0aW9uYWwvL0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW
50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQS
Bjb250ZW50PSJNU0hUTUwgNi4wMC4yODAwLjExMDYiIG5hbWU9R0VORVJBVE9SPjwv
SEVBRD4NCjxCT0RZPjxGT05UIGZhY2U9y 87M 5SBzaXplPTI+DQo8RElWPmJza19henVyZ
WRyYWdvbqOsxPq6w6OhPC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJVj5zZHN
kYWRkYWRhczwvRElWPg0KPERJVj4mbmJzcDs 8L 0RJVj4NCjxESVY+oaGhoaGhoaGhoaGh
oaGhodbCPC9ESVY+DQo8RElWPsDxo6E 8L 0RJVj4NCjxESVY+PC9ESVY+DQo8RElWPiZu
YnNwOzwvRElWPg0KPERJVj6hoaGhoaGhoaGhoaGhoaGhc3B5PC9ESVY+DQo8RElWPqGh
oaGhoaGhoaGhoaGhoaFic2tfYXp1cmVkcmFnb25AaG90bWFpbC5jb 208L 0RJVj4NCjxESVY+o
aGhoaGhoaGhoaGhoaGhoaGhoaEyMDA0LTEyLTA1PC9ESVY+PC9GT05UPjwvQk9EWT 48L
0hUTUw+DQo=
--=====003_ XXXXXXXXXXXX…X =====--
( 附件 )
--=====001_ XXXXXXXXXXXX…X =====
Content-Type: application/octet-stream;
name="libeay32.dll"
Content-Transfer-Encoding: base64
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA0AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmF
tIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
…
--=====001_ XXXXXXXXXXXX…X =====--