我正在尝试使用EWS访问进程邮箱。对于一些自动查询,我们创建了一个genric进程邮箱。我想通过观看流程收件箱来解析电子邮件。
我的代码早先使用旧的Exchange服务器。但在迁移到Office 365后,它失败了。
我可以使用我的凭据访问我的邮箱并在Office 365上解析。
如何访问此进程邮箱?之前我创建了一个ExchangeService并使用UseDefaultCredentials = true连接到进程电子邮件地址。
我设置了AutoDiscoverURl并使用了DefaultCredentials。但当我尝试阅读电子邮件时,我得到了#34; SMTP地址没有与之关联的邮箱。"
编辑: 我尝试使用自己的凭据而不是默认凭据。
string smtpaddress = "somesharedsmtp@domain.com";
es.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx");
es.Credentials = new WebCredentials("myemail", "mypassword");
es.AutodiscoverUrl(smtpaddress, RedirectionCallback);
FolderId SharedMailbox = new FolderId(WellKnownFolderName.Inbox, "somesharedsmtp@domain.com");
Folder sharedInbox = Folder.Bind(es, SharedMailbox);
此时我可以查看包含收件箱详情的sharedInbox。我可以看到未读电子邮件和其他人。
但是当我访问
时ItemView itemView = new ItemView(100);
FindItemsResults<Item> findResults1 = es.FindItems(pqInbox.Id, itemView);
我得到异常&#34; SMTP地址没有与之关联的邮箱&#34;
答案 0 :(得分:0)
您无法使用Office 365的默认凭据。您需要提供基本凭据或使用OAuth令牌。
您应该确认该帐户已迁移到Office 365.登录到OWA并查看该URL以确保您使用的是Office 365而不是内部部署服务器。
回答