【问题标题】:email adding spaces in url在 url 中添加空格的电子邮件
【发布时间】:2011-07-19 20:37:49
【问题描述】:

我正在发送一封包含激活链接的电子邮件。但是,在某些情况下,看起来邮件客户端发送的邮件中间有一个空格,从而导致链接无法正常工作。

有什么想法吗?我认为这可能与网址的长度有关。

【问题讨论】:

  • 你能详细说明链接是如何组成的以及部分来自哪里吗?

标签: php email


【解决方案1】:

我正在发送一封包含激活链接的电子邮件

这意味着您将消息作为 HTML 发送(如果您提供了一个最小的示例会很有帮助)。

如果您要发送 HTML,那么您必须将其作为 MIME 附件发送(即使内容处置是内联的)。

这意味着您必须指定和应用编码方法。

虽然有很多 MUA 不遵守规则,并且会尝试将电子邮件正文呈现为 HTML,即使它违反了规则,但您应该编写代码,使其尽可能正确地工作。

通过 SMTP 发送的行的长度有限制。很可能您使用的数据表示形式未正确映射到具有此行长度的 7 位 ascii。

如果您尝试使用带引号的可打印或 base64 编码,则不应修改 url。一般来说,使用前者要好得多。

一个好的邮件库应该为您处理所有这些。

【讨论】:

    【解决方案2】:

    我建议您发送一个较短的 URL。如果需要,让它重定向到完整的 URL。

    【讨论】:

      【解决方案3】:

      可能与 URL 编码/解码有关。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 2022-06-14
        • 2015-05-03
        • 2013-05-17
        • 1970-01-01
        相关资源
        最近更新 更多