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

如何通过mailto:使Outlook 365识别邮件正文中的指定加粗文本?

解决Outlook 365中mailto协议无法实现文本加粗的问题

首先明确:mailto: 协议本身不支持HTML或富文本格式,通过Chrome唤起Outlook 365时,邮件正文会被强制解析为纯文本。因此直接在body参数中添加<b>、<strong>这类HTML标签,或尝试特殊字符标记,都会显示为普通文本,无法实现加粗效果。

以下是两种可行的替代方案:

方案1:生成带格式的.eml文件供用户打开

通过生成符合邮件标准的.eml文件,用户双击即可在Outlook中打开带有HTML格式的邮件,包括加粗文本。React中的实现代码如下:

const generateFormattedEmail = () => {
  // 定义带HTML格式的邮件内容
  const htmlBody = `Some text that need a word or two <b>in bold</b>`;
  
  // 构建EML文件的完整内容,必须包含MIME头指定HTML格式
  const emlContent = `From: "Your WebApp" <no-reply@your-domain.com>
To: some@email.domain
Subject: Your Subject
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8

${htmlBody}`;

  // 创建Blob并触发下载
  const blob = new Blob([emlContent], { type: 'message/rfc822' });
  const downloadUrl = URL.createObjectURL(blob);
  const link = document.createElement('a');
  link.href = downloadUrl;
  link.download = 'formatted-email-draft.eml';
  link.click();
  URL.revokeObjectURL(downloadUrl);
};

方案2:集成Outlook Web API(适合企业场景)

如果你的应用有微软365集成权限,可以调用Outlook的Web API直接创建带HTML格式的邮件草稿。这种方式需要用户授权,能直接在Outlook中生成带格式的邮件,但开发成本较高,适合有深度集成需求的场景。

另外你提到复制Outlook加粗文本到编辑器看不到特殊字符,是因为Outlook的加粗是基于RTF或HTML格式的内部标记,复制纯文本时格式会被自动剥离,因此纯文本模式下无法通过特殊字符实现加粗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:13:30