0

在过去的一年里,至少现在我网站的十几个用户都经历过他们收到的电子邮件中出现奇怪的字符。我已经多次研究过这个问题,并且几乎把它写成用户端的某种编码问题。这个结论对我来说并不完全正确,因为我从来没有能够复制这个问题。

奇数字符并不是真正的偶数字符,它们是一系列代表高字符的字符,例如句点。例如,=2e 出现在句号应该出现的地方。每行结尾出现一些其他字符串。根据我过去的研究,这种类型的编码是相当标准的,被称为 Quoted Printable,只有非常旧的电子邮件软件无法读取它。每次发生这种情况时,我都会询问有关受影响用户正在使用的操作环境的相同老问题,并且他们从未使用过旧客户端,因此应该正确呈现 QP。受问题影响的收件人与未受影响的收件人之间似乎没有区别。

受影响的电子邮件由我的 Web 服务器自动发送,并且没有应用特殊编码。使用 ServerObjects Inc. 的 ASPMail 从 ASP 经典应用程序发送的非常标准。

任何人都有任何想法可能导致这种情况,或者我是否在假设其最终用户编码问题无法正确呈现时得到纠正?


关于这个的一点更新......

我最近发现,如果我们要从我们的服务器以纯文本而不是 HTML 邮件的形式发送邮件 - 不存在奇怪的字符。这仅在发送 HTML 邮件时发生。

4

2 回答 2

0

我在他们的网站上看到了这个信息:


我们的一些电子邮件在某些消息的行尾出现等号。为什么?
AspMail 可以使用一种方案对高字符进行编码,其中 = 符号指示要解码的字符,后跟要编码的字符的十六进制字符串值。这个系统当然假设客户端可以解码这些字符(大多数都可以)。这称为引用可打印编码。AspMail 的默认设置是不使用 QP 编码。触发自动 QP 编码的事情:

  1. 高位字符 - 具有以下序数值 0..31,61,128..255 的字符
  2. 邮件正文的长行 (>255)。您可以打开自动换行来解决这种情况

大多数客户端都能够处理 QP 编码。如果您的客户端没有能力,那么您应该升级您的客户端,或者您必须在上述限制范围内工作以防止发生 QP 编码。


因此,据我了解,他们将其固定在最终用户的客户端上

于 2009-12-31T16:26:12.423 回答
0

我们在工作中遇到了这个问题。用户会收到奇怪的字符、剥离的字符、丢失的内容等。大部分时间是由于电子邮件软件造成的。电子邮件中的 CSS 会导致 Outlook 和 Gmail 出现奇怪的问题。我们有一种情况,一封电子邮件应该说“你好鲍勃”,它只是说“你好鲍勃”。

如果用户将他们的电子邮件从一个帐户转发到另一个帐户,那么他们很可能会收到一封被转发帐户过滤的电子邮件。因此,如果 Gmail 去除了字符,那么无论它转发该电子邮件的何处,收件人都会得到去除的字符。

我们的电子邮件服务存在其他问题,无法正确合并模板和数据,但这里似乎并非如此。

于 2009-12-31T16:27:46.317 回答