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

使用Microsoft Graph回复邮件时添加换行失效,如何解决?

Microsoft Graph邮件回复API换行失效问题解决

问题场景

使用Microsoft Graph邮件回复API发送回复时,代码中通过\n设置换行:

msg = "This is line 1.\nThis is line 2.\nThis is line 3."
var data = JSON.stringify({
    "message": {
      "toRecipients": [
        {
          "emailAddress": {
            "address": address,
            "name": name
          }
        }
      ]
    },
    "comment": msg
  });

但收件人收到的邮件内容显示为:

This is line1.This is line2.This is line3

而非预期的每行分开显示:

This is line1.
This is line2.
This is line3.

原因

邮件内容默认以HTML格式渲染,\n在HTML中仅会被识别为普通空格,不会解析为换行效果。

解决方法

方法1:使用HTML换行标签<br>

将字符串中的\n替换为HTML的换行标签<br>,HTML渲染时会正确解析为换行:

msg = "This is line 1.<br>This is line 2.<br>This is line 3."
var data = JSON.stringify({
    "message": {
      "toRecipients": [
        {
          "emailAddress": {
            "address": address,
            "name": name
          }
        }
      ]
    },
    "comment": msg
  });

方法2:指定邮件为纯文本格式

如果不需要HTML格式,可直接构建邮件的body部分,设置contentType为text,此时\n会被正确解析为换行:

var data = JSON.stringify({
    "message": {
      "toRecipients": [
        {
          "emailAddress": {
            "address": address,
            "name": name
          }
        }
      ],
      "body": {
        "contentType": "text",
        "content": "This is line 1.\nThis is line 2.\nThis is line 3."
      }
    }
  });

说明

  • 方法1兼容性更好,支持后续添加其他HTML格式(如加粗、列表等);
  • 方法2适合仅需简单文本换行的场景,内容不会被HTML解析影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:55:23