电子邮件中的字符串

转载 2006年05月20日 16:08:00
电子邮件中的字符串

当一段 Text 或者 HTML 通过电子邮件传送时,发送的内容首先通过一种指定的字符编码转化成“字节串”,然后再把“字节串”通过一种指定的传输编码(Content-Transfer-Encoding)进行转化得到另一串“字节串”。比如,打开一封电子邮件源代码,可以看到类似的内容:

Content-Type: text/plain;
        charset="gb2312"
Content-Transfer-Encoding: base64

sbG+qcrQuqO17cf4yee74bGjz9W7+b3wudzA7dbQ0MQNCg0KvPKzxqO6uqO17cnnsaPW0NDEDQoNCg==

最常用的 Content-Transfer-Encoding 有 Base64 和 Quoted-Printable 两种。在对二进制文件或者中文文本进行转化时,Base64 得到的“字节串”比 Quoted-Printable 更短。在对英文文本进行转化时,Quoted-Printable 得到的“字节串”比 Base64 更短。

邮件的标题,用了一种更简短的格式来标注“字符编码”和“传输编码”。比如,标题内容为 "中",则在邮件源代码中表示为:

// 正确的标题格式
Subject: =?GB2312?B?1tA=?=

其中,

  • 第一个“=?”与“?”中间的部分指定了字符编码,在这个例子中指定的是 GB2312。
  • “?”与“?”中间的“B”代表 Base64。如果是“Q”则代表 Quoted-Printable。
  • 最后“?”与“?=”之间的部分,就是经过 GB2312 转化成字节串,再经过 Base64 转化后的标题内容。

如果“传输编码”改为 Quoted-Printable,同样,如果标题内容为 "中":

// 正确的标题格式
Subject: =?GB2312?Q?=D6=D0?=

如果阅读邮件时出现乱码,一般是因为“字符编码”或“传输编码”指定有误,或者是没有指定。比如,有的发邮件组件在发送邮件时,标题 "中":

// 错误的标题格式
Subject: =?ISO-8859-1?Q?=D6=D0?=

这样的表示,实际上是明确指明了标题为 [0x00D6, 0x00D0],即 "ÖÐ",而不是 "中"。

判断一个字符串是否是一个合法的电子邮件地址

判断一个字符串是否是一个合法的电子邮件地址邮件地址最基本的格式可以看作是。对于用户名,各个ISP没有统一的标准,除了数字和字母外,有的允许有,有的允许有,也有的两者皆可,或者允许其他的特殊字符。对此我...
  • tsuliuchao
  • tsuliuchao
  • 2011年04月27日 22:41
  • 5535

电子邮件验证 正则表达式

电子邮件验证        正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串。使用正则表达式匹配文本的模式,...
  • x657032732
  • x657032732
  • 2015年04月02日 21:08
  • 3283

判断字符串是否是合法的EMail

Public Function IsValidEmail(strEmail As String) As Boolean  Dim names, name, i, c  IsValidEmail = T...
  • jennyvenus
  • jennyvenus
  • 2003年02月21日 09:28
  • 1508

用flask开发个人博客(24)—— flask中使用Flask_Mail发送电子邮件

flask中使用Flask-Mail提供对电子邮件的支持,下面将分步骤测试flask中发送电子邮件的功能: 1 配置SMTP服务器的信息     我们需要借助flask程序实例app的config属性...
  • lzhui1987
  • lzhui1987
  • 2016年10月07日 10:02
  • 1405

电子合同中电子邮件应用的法律问题研究

电子合同中电子邮件应用的法律问题研究 高云 随着Internet的普及和电子商务时代的来临,电子合同作为一种崭新的交易形式在商务活动中已经出现,国际立法、中国合同法已经确立了电子合同的法律地位和相关内...
  • Drate
  • Drate
  • 2003年07月09日 22:35
  • 2573

电子邮件工作原理

一、三种协议 1. SMTP(Simple Mail Transfer Protocol)   SMTP 是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。SMTP 是建立在 TCP上的一...
  • zyh5540
  • zyh5540
  • 2014年02月06日 22:25
  • 9922

如何使用Android自带的电子邮件

QQ: 首先在电脑上进入你的QQ邮箱,选择邮箱左上角的设置;      在邮箱设置标签里选择第二个账户;     在邮箱设置的账户中开启POP3/SMTP服务以及IMAP/AMTP服务,勾选上即可,收...
  • LOVE000520
  • LOVE000520
  • 2016年08月31日 12:11
  • 1517

电子邮件收发协议总结

电子邮件发送协议是一种基于“推”的协议,主要包括SMTP;邮件接收协议则是一种基于“拉”的协议,主要包括POP协议和IMAP协议,在正式介绍这些协议之前,我们先给出邮件收发的体系结构:...
  • JXH_123
  • JXH_123
  • 2014年06月30日 13:41
  • 4079

JAVA实现的电子邮件发送器

由于项目中需要用到利用JAVA发送电子邮件。于是找了些样例,然后找到网友写的一个类,实现过程中发现由于网易等国内的主流邮箱为了杜绝垃圾短信的群发,都需要用户名和密码的验证。然后就加了一个校验发件人权限...
  • esp4u
  • esp4u
  • 2011年08月30日 16:48
  • 3379

HTML学习记录<三> :创建电子邮件链接

html mailto 创建电子邮件链接
  • DouMiaoO_Oo
  • DouMiaoO_Oo
  • 2015年10月02日 20:43
  • 1889
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:电子邮件中的字符串
举报原因:
原因补充:

(最多只允许输入30个字)