You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTML的mailto标签中添加加粗文本并实现指定编码内容的加粗效果?

嘿,我来帮你搞定mailto里添加加粗文本的问题~

关于mailto中实现加粗文本的两种方案

首先得明确:mailto协议默认传递的是纯文本内容,大部分邮件客户端不会直接解析HTML标签(比如<b>或者<strong>)。不过我们有两种可行的思路来实现加粗效果:

1. 纯文本风格模拟加粗(兼容性拉满)

如果追求全客户端都能正常显示,推荐用Markdown风格的符号来模拟加粗——用*或者_包裹需要加粗的内容,Gmail、Outlook、Apple Mail这些主流客户端都会自动识别并渲染成加粗样式。

针对你给出的代码,修改后的版本是这样的:

let body = "Hi%0D%0A*Issue*%20%3A%0D%0A*email ID*%20%3A%0D%0A";

解码后的纯文本内容是:

Hi
Issue :
email ID :
大部分客户端会自动把*Issue*显示成Issue,*email ID*显示成email ID。

2. HTML格式的mailto(兼容性有限)

如果你一定要用HTML标签来实现加粗,也可以尝试,但要注意:不是所有邮件客户端都支持这种方式(比如部分桌面版Outlook可能不买账)。

具体步骤是:

  • 先把带HTML标签的内容写好,比如:Hi<br><b>Issue</b> :<br><b>email ID</b> :
  • 对这段HTML内容进行URL编码
  • 在mailto链接里加上&content-type=text/html参数(用来告诉客户端这是HTML格式的内容),再把编码后的内容放到&body=后面

对应你的代码,修改后是:

let body = "Hi%3Cbr%3E%3Cb%3EIssue%3C%2Fb%3E%20%3A%3Cbr%3E%3Cb%3Eemail%20ID%3C%2Fb%3E%20%3A%3Cbr%3E";

最终的mailto链接可以写成:

<a href="mailto:your-recipient@example.com?content-type=text/html&body=Hi%3Cbr%3E%3Cb%3EIssue%3C%2Fb%3E%20%3A%3Cbr%3E%3Cb%3Eemail%20ID%3C%2Fb%3E%20%3A%3Cbr%3E">发送邮件</a>

小提醒

  • 优先选第一种纯文本模拟的方案,兼容性比HTML方式好太多
  • 如果用HTML方式,一定要在不同客户端测试效果
  • URL编码可以用JavaScript的encodeURIComponent()函数自动处理,比如encodeURIComponent("Hi<br><b>Issue</b> :")就能直接得到编码后的内容

内容的提问来源于stack exchange,提问作者Keerthi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:54:09