【发布时间】:2011-07-19 20:37:49
【问题描述】:
我正在发送一封包含激活链接的电子邮件。但是,在某些情况下,看起来邮件客户端发送的邮件中间有一个空格,从而导致链接无法正常工作。
有什么想法吗?我认为这可能与网址的长度有关。
【问题讨论】:
-
你能详细说明链接是如何组成的以及部分来自哪里吗?
我正在发送一封包含激活链接的电子邮件。但是,在某些情况下,看起来邮件客户端发送的邮件中间有一个空格,从而导致链接无法正常工作。
有什么想法吗?我认为这可能与网址的长度有关。
【问题讨论】:
我正在发送一封包含激活链接的电子邮件
这意味着您将消息作为 HTML 发送(如果您提供了一个最小的示例会很有帮助)。
如果您要发送 HTML,那么您必须将其作为 MIME 附件发送(即使内容处置是内联的)。
这意味着您必须指定和应用编码方法。
虽然有很多 MUA 不遵守规则,并且会尝试将电子邮件正文呈现为 HTML,即使它违反了规则,但您应该编写代码,使其尽可能正确地工作。
通过 SMTP 发送的行的长度有限制。很可能您使用的数据表示形式未正确映射到具有此行长度的 7 位 ascii。
如果您尝试使用带引号的可打印或 base64 编码,则不应修改 url。一般来说,使用前者要好得多。
一个好的邮件库应该为您处理所有这些。
【讨论】:
我建议您发送一个较短的 URL。如果需要,让它重定向到完整的 URL。
【讨论】:
可能与 URL 编码/解码有关。
【讨论】: