【问题标题】:Javamail: Send a HTML mail with an "unclickable" URL on itJavamail:发送带有“不可点击”URL 的 HTML 邮件
【发布时间】:2013-11-08 02:05:18
【问题描述】:

我遇到了一个让我头疼的问题。

我正在使用 JavaMail 和 HTML 模板发送一些电子邮件确认,该模板写在邮件内容上。

这个 HTML 模板,上面有一个 URL,但是这个 URL 没有被包装到标签中,它只是 HTML 正文中的纯文本。

问题是 URL 在邮件消息中显示为可点击的链接,这不是我想要的行为。我希望用户将 URL 复制并粘贴到浏览器(工作中的安全策略)

你们中有人做过这样的事吗?

提前致谢

【问题讨论】:

    标签: html email jakarta-mail


    【解决方案1】:

    你不能。您无法控制邮件用户代理处理传入邮件的方式。邮件客户端这样做是为了方便用户。我看不出这是一个安全问题。

    唯一的选择是将 URI 放在附加图像中,但这只会惹恼您的用户。

    【讨论】:

    • +1,因为我对邮件客户端有同样的看法。我在一家银行工作,所以几乎所有事情都涉及安全问题,所以除了修复它我别无他法...
    • @CristianMeneses 对于那种电子邮件,我不会在其中放置超链接甚至文本地址。我会指示用户手动访问银行的官方网站并按照屏幕上的说明或指示进行操作。提醒他们这样做是为了让他们知道他们在真实的银行网站上,而不是网络钓鱼电子邮件中的虚假链接。
    • 已经这样做了,但是发送带有指向特定站点的 URL 的邮件是业务需求,但电子邮件上的链接不可点击:(
    • @CristianMeneses 那么业务需求很糟糕。联系写信的人,通知他们需要重做。
    【解决方案2】:

    您可以将 url 显式编码为不可点击的链接(a 没有 href)...它仍将显示为链接,但不可点击。

    编辑:下面的用户似乎是正确的。

    EDIT2:实际上似乎我可能是正确的。我尝试在以下位置撰写电子邮件 http://putsmail.com/tests/838716156f824732c7f5456122c38e

    用 html:

    <html>
    <a href="http://www.google.com">www.google.com</a>
    <a>http://www.google.com</a>
    </html>
    

    第二个链接显示为文本。

    您无法在 gmail 客户端中显式插入 html,但您可以使用自己的。

    编辑:

    我今天早上回去尝试了这个html:

    <html>
    <a href="http://www.google.com">www.google.com</a>
    <a>http://www.google.com</a>
    http://www.google.com
    </html>
    

    只有第二个链接是纯文本的。仅供参考...

    【讨论】:

    • +1 进行测试。我会在早上试试这个,谢谢!
    • 试了一下还是不行,发给一些邮件客户端。
    • 您如何发送/撰写电子邮件?
    • 如果邮件真的被解释为 HTML,它应该可以工作。下面的海报可能是正确的,因为您无法控制人们的邮件客户端如何处理传入的电子邮件,但如果客户端真正将 HTML 解释为 HTML,那么上面是正确的。我用 GMail 验证了这是真的。您在发送电子邮件时尝试抄送 gmail 帐户吗?
    • 是的。我正在使用 HTML 模板,该模板加载到 JavaMail 消息内容中。看起来与技术无关,邮件客户端尝试将 URL 转换为链接。有些技术适用于 Gmail,但不适用于 Outlook 或 Apple Mail(如上所述)。然后我发现了对所有这些都有效的“零宽度空间”。这就是为什么我说“在尝试并将其发送给一些邮件客户端之后”。只是因为,当它起作用时,它并不能涵盖所有可能的情况,因为它只适用于 Gmail
    【解决方案3】:

    我已经找到了一种方法。

    关键是在 URL 之间的某处插入 零宽度空间 (&amp;#8203;)

    所以,我更改了我的网址

    http://my.site.com/somecontext?contextid=somekeyvalue
    

    ht&#8203;tp://my.site.com/somecontext?contextid=somekeyvalue
    

    现在邮件客户端不会将 URL 解释为链接,但它仍然适合复制粘贴到浏览器。

    感谢大家的帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-27
      • 2017-01-07
      • 1970-01-01
      • 2019-05-28
      • 2018-11-07
      • 2012-04-27
      • 1970-01-01
      • 2013-06-13
      相关资源
      最近更新 更多