我正在连接我们的办公室365帐户并尝试发送电子邮件。
我与办公室365的连接:
var exchangeService = new ExchangeService(ExchangeVersion.Exchange2013_SP1)
{
Credentials = new WebCredentials(myemail@domain.com, MyPassword),
Url = new Uri(url),
ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, myemail@domain.com)
};
如果我删除了ImpersonatedUserId部分,则电子邮件发送正常。
但是,如果我设置了ImpersonatedUserId,我会收到以下错误“该帐户没有模拟所请求用户的权限。”
我尝试将类型设置为ConnectingIdType.PrincipalName,但这也不起作用。
我希望最终代表其他人发送电子邮件,但目前我正在使用自己的帐户对其进行测试。
我使用相同的电子邮件地址进行凭据和模拟,所以我被卡住了为什么它不会发送?
答案 0 :(得分:0)
上面的代码运行正常,问题出在Office 365 Exchange上。
即使您通过自己的帐户发送,也必须设置模拟角色。
请参阅以下网址:http://www.codetwo.com/kb/how-to-set-impersonation-rights-manually/