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

使用Microsoft Graph发送邮件时发件人姓名特殊字符显示异常

问题详情

使用Microsoft Graph发送邮件时,发件人显示名称里的"Bündchen"会被错误显示为"B?undchen",且我并未主动向Graph传递该名称。查看邮件头发现:

From: Max B?ndchen <(ommited)@hotmail.com>

但如果在邮件正文中加入带重音的字符,显示名称就能正常显示,此时邮件头包含正确的编码格式:

From: =?iso-8859-1?Q?Max_Bündchen?= <(ommited)@hotmail.com>

已尝试以下操作但问题未解决:

  • 切换UTF-8和ISO-8859-1编码发送POST请求
  • 修改账户配置文件中的名称
解决方案
  1. 显式指定发件人显示名称
    在Graph请求的message.from.emailAddress字段中主动设置name为"Max Bündchen",强制Graph对包含特殊字符的名称进行编码。示例请求体:

    {
      "message": {
        "subject": "测试邮件",
        "body": {
          "contentType": "Text",
          "content": "测试内容"
        },
        "from": {
          "emailAddress": {
            "name": "Max Bündchen",
            "address": "(ommited)@hotmail.com"
          }
        },
        "toRecipients": [
          {
            "emailAddress": {
              "address": "recipient@example.com"
            }
          }
        ]
      }
    }
    

    显式设置后,Graph会自动处理特殊字符的编码,避免默认逻辑下的编码缺失。

  2. 强制请求使用UTF-8编码
    在POST请求头中添加Content-Type: application/json; charset=utf-8,确保整个请求体以UTF-8格式传递,覆盖可能存在的默认编码设置偏差。

  3. 升级Graph API版本
    确认使用的是Microsoft Graph v1.0或beta通道的最新版本,旧版本可能存在特殊字符编码的触发逻辑bug,新版本大概率已修复此类问题。

  4. 排除客户端解码问题
    可在Outlook网页版、桌面版等不同客户端查看邮件,确认是否为特定客户端的解码异常。但根据测试结果,问题核心在于Graph是否触发显示名称的编码,客户端问题概率较低。

内容的提问来源于stack exchange,提问作者Max Bündchen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:46:13