【发布时间】:2023-03-25 10:00:02
【问题描述】:
我正在尝试使用 EWS 访问进程邮箱。对于一些自动查询,我们创建了一个通用进程邮箱。我想通过查看进程收件箱来解析电子邮件。
我的代码之前在旧 Exchange 服务器上运行。但迁移到 Office 365 后,它失败了。
我可以使用我的凭据访问我的邮箱并在 Office 365 上进行解析。
如何访问此进程邮箱?之前我创建了一个 ExchangeService 并使用 UseDefaultCredentials = true 连接到进程电子邮件地址。
我设置了 AutoDiscoverURl 并使用了 DefaultCredentials。但是当我尝试阅读电子邮件时,我得到“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);
我收到异常“SMTP 地址没有与之关联的邮箱”
【问题讨论】:
标签: c# exchange-server exchangewebservices