使用Office 365 OutlookServicesClient
发送邮件时是否可以控制发件人的显示名称?
即,我想使用,说mailer@domain.com
作为在办公室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
发送。
那么,我想要的是什么?
答案 0 :(得分:1)
根据Message对象的reference documentation,您可以做什么。然而,逻辑告诉我应该不可能,而且,我做的测试向我展示了它是不可能的(或者不工作)。我会对此进行跟进并在得到明确答案后更新此答案,但此时,您似乎无法更改发件人的姓名(或者它已损坏)。
更新: From
属性是可写的。我使用纯REST对此进行了测试,因此我无法准确地说出您正在使用的客户端库正在做什么,但我认为请求正在转换以防止欺骗。
可以控制发件人的显示名称,但只能与Office 365租户中的其他用户一起使用。为此,请登录Office 365管理员门户,转到用户,然后活动用户,然后选择要代表其发送的用户(用户A)的。点击修改,然后选择邮箱权限。将运行代码的用户(用户B)的别名或电子邮件地址(使用您的应用程序进行身份验证的用户)添加到从此邮箱发送电子邮件下的第一个框中。这将允许您将用户B发送的消息的From
属性设置为用户A.
我知道这并不完全是您所追求的,但能够以任何电子邮件地址发送电子邮件可能会导致一些不好的事情。希望这有帮助!