通过 o365 发送邮件时更改发件人的显示名称?

Change the displayname of the sender when sending mail via o365?

office 365发送邮件时是否可以控制发件人的显示名称OutlookServicesClient? 即,我想使用 mailer@domain.com 作为在 office 365 中配置了名称 some name@domain.com 的发件人。但是对于给定的邮件,我希望发件人名称改为 some other name@domain.com

我试过这个:

Message draftMessage = new Message
{
Subject = subject,
    Body = body,
    ToRecipients = toRecip,
    CcRecipients = ccRecip,
    From = new Recipient()
    {
        EmailAddress = new EmailAddress() { Address = "mailer@domain.com", Name = "Some other name@domain.com" }
    }
};

但邮件仍以预先配置的名称 some name@domain.com 发送。

那么,我想要的可能吗?

根据消息对象的reference documentation,你想做的是可能的。然而,逻辑告诉我这不应该是可能的,此外,我所做的测试表明这是不可能的(或不起作用)。当我得到明确的答案时,我会跟进并更新此答案,但此时,您似乎无法更改发件人的姓名(或已损坏)。

更新: From 属性 是可写的。我已经使用纯 REST 对此进行了测试,所以我无法准确说明您正在使用的客户端库在做什么,但我认为正在转换请求以防止欺骗。

可以控制发件人的显示名称,但您只能对 Office 365 租户中的其他用户这样做。为此,请登录 Office 365 管理门户,转到 用户 ,然后 活跃用户 ,然后 select 用户 (您要代表其发送的用户 A)。单击 编辑 和 select 邮箱权限。将用户(用户 B)的别名或电子邮件地址添加到运行代码(使用您的应用程序进行身份验证的用户)到从该邮箱发送电子邮件下的第一个框中.这将允许您设置用户 B 作为用户 A 发送的消息的 From 属性。

我知道这并不是您想要的,但是能够将电子邮件发送为 任何 电子邮件地址可能会导致一些不好的事情。希望这对您有所帮助!