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

Outlook Add-in:Mailitem转发多收件人触发「名称未识别」异常

问题解决:Outlook Add-in转发邮件多个收件人报错「One or more names are not recognized」

问题分析

Recipients.Add()方法并不支持一次性传入多个用分隔符拼接的收件人地址字符串——即便这些地址在新建邮件场景下可正常使用。Outlook对象模型中该方法的设计逻辑是单个添加收件人,批量传入的地址字符串无法被正确解析,因此抛出名称未识别的异常。

解决方案

不要一次性传入多地址字符串,改为逐个调用Recipients.Add()添加每个收件人,或拆分地址列表后循环添加。

修正后的代码示例

var newItem = mailItem.Forward();    
// 逐个添加收件人
newItem.Recipients.Add("XXX@domen1.com");
newItem.Recipients.Add("YYY@domen1.com");

// 批量场景推荐:用列表循环添加
var recipients = new List<string> { "XXX@domen1.com", "YYY@domen1.com" };
foreach (var addr in recipients)
{
    newItem.Recipients.Add(addr);
}

newItem.Send();

补充验证方案

若需确保所有收件人地址可被正确解析,可在添加后调用Recipients.ResolveAll()方法,提前排查无效地址:

if (newItem.Recipients.ResolveAll())
{
    newItem.Send();
}
else
{
    // 处理解析失败的收件人
    foreach (Outlook.Recipient recip in newItem.Recipients)
    {
        if (!recip.Resolved)
        {
            Console.WriteLine($"未识别的地址:{recip.Name}");
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 16:47:37