如何处理 HTML 电子邮件中的长链接

2022-08-31 00:40:05

我已经在网上搜索了这个问题,我可以找到两种解决方案:

  1. 使用网址缩写器。
  2. 使用方括号允许插入空格。这仅适用于纯文本电子邮件。<>

我正在发送包含敏感信息(如密码恢复链接和自动身份验证链接)的 HTML 电子邮件。这些安全链接就其性质而言相当长。长度轻松超过 70 个字符或对电子邮件正文施加的任何任意限制。

显然,我不能使用任何形式的URL短路,因为它会规避我用于链接的任何安全加密技术。

我认为最大的问题是电子邮件客户端没有很好地包装链接。CSS3技术支持漂亮的自动换行,因此MS Outlook不可能支持此功能。

我如何做到这一点,使链接不会在视觉上造成干扰,并且在电子邮件客户端发生故障时可能很容易复制粘贴?

如果链接似乎不起作用,请尝试将其复制粘贴到浏览器中:hxxp://development/#auth/YoxOntz0Oj0ExOiJfcmFuG9tbmVzcyI7czoxOTI6kJsYkV0qMGMuZ1pFZVQ5YkRQNDZPR200Unl60dGlpNlhZZC9QcEVeH0lvV2NVVlpWWFcwWlF0VjRyc0p4akYzclJ0GTkJmSlgxco0aEtDS0FuTlBVSXAxUVhCcGdRNGpHMVl5UGZMRFVacDVSQ1BqcU0tKYlNxZ0FqYXpjTkNqTS9LV29xSk4ydGtyeFpNdV0c2VLMERUbEYwc08xUWU5aXR0GOXl0bVFpcjlXeGZjUE100S0o1L1FcmQ4MmhOdm5LUSI7fQ

附加说明:

我不希望我的链接过期。如果我希望它们完全过期,我会有一个几个月的时间框架,而不是几个小时。这些链接不仅仅是密码恢复链接。


答案 1

您是否尝试过 Microsoft 专有的分词符:break-all; ?

<td style=“word-break:break-all;”>

这对我来说效果最好(跨供应商的最佳兼容性):

<p style="word-break:break-all;">
    <font style="word-break:break-all;">hxxp://really_long_link</font>
</p>

测试于: MS Office 2007/2010, outlook.com, hotmail.com, gmail.com, yahoo.com (雅虎没有很好地显示)


虽然这被编辑为包含,但如果间距是无能为力的,我会非常不鼓励在HTML电子邮件中使用段落标签,因为电子邮件客户端对这些标签的解释不同。<p>...</p>


答案 2

在 HTML 电子邮件中 - 使用 html

如果您要发送 html 电子邮件,则会出现什么问题:

... <a href="long url">reset your password</a> ...

如果在发送 html 电子邮件时链接损坏 - 问题在于您如何发送电子邮件,而不是收件人的电子邮件客户端。

使用较短的哈希值

超长哈希(是哈希,还是加密的?)真的有必要吗?使用任何足够长的哈希值,以便在过期之前不会被暴力破解,这就足够了。要求用户复制并粘贴一个显然要换行的字符串不会帮助用户,它只是将开发问题推给用户。


推荐