【问题标题】:preventing gmail from stripping href, target, and id attributes防止 gmail 剥离 href、target 和 id 属性
【发布时间】:2016-11-19 21:04:15
【问题描述】:

我正在使用 Mailgun 从我的 NodeJS 服务器向 Gmail 帐户发送一封电子邮件,但 Gmail 会删除电子邮件中的所有属性。这是什么原因,我该如何防止这种情况发生?我尝试使用 encodeURIComponent 对 href 值进行编码,但这对 href 标记没有任何作用。我也没有使用任何 CSS 或任何东西,所以我很困惑为什么会这样。

之前:

<a href="/resetpw" id="reset-link" id="reset" target="_blank">Reset Password</a>

之后(当我检查电子邮件的 HTML 时):

<a></a>

【问题讨论】:

  • 如果没有域名,他们可能不信任您的href。解决这个问题(部分原因是没有它就无法工作,无论如何)。
  • 但即使我把它拿出来只使用目标属性,该目标属性也会由于某种原因被删除
  • @ceejayoz 你是对的。关于如何使用 localhost url 作为 href 值(例如:localhost:3000/resetpw)的任何想法,以便 gmail 不会删除它?我试过了,但没有用。我的网站未托管在实时网站上,仅在我的本地网站上
  • StackOverflow 将 URL 转换为链接,并缩短它们的视觉显示。这与您的代码无关。用 ` 在每一边包围你的代码以防止这种行为。
  • 查询字符串没问题。 Gmail 可能需要的只是 URL 中的有效域名,因为带有/foo/barhref 的电子邮件没有意义,因为电子邮件显示在mail.google.com 作为域,而不是localhost 或@ 987654328@.

标签: javascript gmail mailgun


【解决方案1】:

Gmail 可能会从电子邮件中删除您的链接,因为 /resetpwhref 值,由于缺少域名,将引用 https://mail.google.com/resetpw 并且 a) 不起作用 b) 可能是一个安全漏洞(我想不出办法,但在 Google 方面过于谨慎是有道理的)。

使用带有方案和域/IP 的有效 URL(即 http://localhost:3000/resetpw),修复无效的 HTML,如重复的 id 参数,它应该可以正常工作。

【讨论】:

    【解决方案2】:

    我有类似的问题。我发现如果我们不添加“http://”,gmail 会删除链接。我添加了http标签,效果很好。

    【讨论】:

      猜你喜欢
      • 2014-04-17
      • 2015-07-07
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      相关资源
      最近更新 更多