以下是在邮件中发送的电子邮件模板代码。
<a href="https://someurl.net/reset-password?passwordResetToken=Qlc9CFIj8NziJEFuDFXv0uDHZTlzhMbj" style="font-family: 'arial',sans-serif; color: #fff; text-decoration: none; padding: 10px 10px;">TROQUE SUA SENHA</a>
雅虎 渲染成这样,(缺少href)
<a rel="nofollow" style="font-family:'arial', sans-serif;color:#fff;text-decoration:none;padding:10px 10px;">TROQUE SUA SENHA</a>
gmail渲染成这样,(这是正确的)。
<a href="https://someurl.net/reset-password?passwordResetToken=OwNWeKbhoK8TaklFdJRIQWTi7dmCI93A" style="font-family:'arial',sans-serif;color:#fff;text-decoration:none;padding:10px 10px" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://someurl.net/reset-password?passwordResetToken%3DOwNWeKbhoK8TaklFdJRIQWTi7dmCI93A&source=gmail&ust=1588314607785000&usg=AFQjCNEjn0R1PYzmZsDWVFxNzvIhjWG8_A">TROQUE SUA SENHA</a>
有没有什么特定的锚标签属性,应该设置为渲染 <a>
yahoo客户端中的标签?
解决了,当更换了 html实体十六进制 在hrefurl从 /
到 /
rawTemplate.replace(///g, '/')
观察到 gmail
邮件客户端同时处理html实体十六进制的斜线(/
)和斜线(/
),所以能够在渲染后得到正确的锚链接。
但是 yahoo
邮件客户端只处理斜杠()。/
),所以不得不在渲染时手动替换