[英]Read an office 365 mailbox using Exchange web services
我正在使用以下代码,但无法从 C# 代码读取我的 office 365 收件箱电子邮件。 一旦我得到这个工作,然后我需要阅读来自共享邮箱的电子邮件。
如果有人可以帮助我解决此问题或指导我在这里缺少什么,我将不胜感激?
如果我使用 Url 作为 Office365 一个然后收到此错误:“请求失败。远程服务器返回错误 401。未经授权”
如果我使用 Url 作为 casx16 之一(在公司的 Q/A 门户中找到这个)然后收到此错误:“没有具有此类 GUID 的邮箱”
using Microsoft.Exchange.WebServices.Data;
public static void ReadMyMailbox_2()
{
ExchangeService exchangeService = new ExchangeService();
exchangeService.Credentials = new WebCredentials("ajain", "password ", "MS"); /// ajain is my MSID
// exchangeService.AutodiscoverUrl("a_jain@xyz.com", RedirectionUrlValidationCallback);
exchangeService.Url = new Uri("https://casx16.xyz.com/ews/exchange.asmx");
// exchangeService.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
FolderId mailbox = new FolderId(WellKnownFolderName.Inbox, "a_jain@xyz.com");
ItemView itemView = new ItemView(10);
FindItemsResults<Item> result = exchangeService.FindItems(mailbox, itemView);
foreach (var msg in result)
{
EmailMessage message = EmailMessage.Bind(exchangeService, msg.Id);
Console.WriteLine(message.Subject);
}
}
看起来您正在正确设置 ExchangeService object。 有几件事可以尝试:
注意:我认为自动发现不适用于 O365
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.