Мы только что перешли на Microsoft Exchange Online (EOP и EOP2). Почтовые сообщения работают нормально.
Сейчас я просто хочу открыть почтовый ящик, отсканировать все электронные письма и вернуть простую информацию, такую как Sender
или MailDate
etc
Все, что мне нужно, это простой рабочий пример.Самое близкое, что я получил, ниже
FindItemsResults<Item> items = await serviceInstance.FindItems(WellKnownFolderName.Inbox, "to:" + sEmail, new ItemView(15));
Но это дает мне эту ошибку
Cannot implicitly convert type 'System.Threading.Tasks.Task<Microsoft.Exchange.WebServices.Data.FindItemsResults<Microsoft.Exchange.WebServices.Data.Item>>' to 'Microsoft.Exchange.WebServices.Data.FindItemsResults<Microsoft.Exchange.WebServices.Data.Item>'
string sEmail = "xxxxxx@xxxxxxx.co,";
string sPassword = "*********";
string sResult = "";
ExchangeService serviceInstance = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
//Provide the account user credentials
serviceInstance.Credentials = new WebCredentials(sEmail, sPassword);//ConfigurationManager.AppSettings["Domain"].ToString());
try
{
// Use Autodiscover to set the URL endpoint.
serviceInstance.AutodiscoverUrl(sEmail, RedirectionUrlValidationCallback); //works up to here
//error here
FindItemsResults<Item> items = serviceInstance.FindItems(WellKnownFolderName.Inbox, "to:" + sEmail, new ItemView(15));
//no error here but can't do a foreach on "items"
//var items = serviceInstance.FindItems(WellKnownFolderName.Inbox, "to:" + sEmail, new ItemView(15));
sResult = "Found:" + "\r\n";
foreach (EmailMessage msg in items)
{
sResult += msg.Subject + "\r\n";
}
}
catch (Exception ex)
{
serviceInstance = null;
sResult = ex.Message;
}
Что я делаю неправильно, вещи раньше былитак просто?
Я использую
- VS2017, ASP.Net (Стандарт 4.6.1)
- Microsoft.Exchange.WebServices.NETStandard (v4.0.30319)
Я пробовал множество примеров здесь и на других сайтах безрезультатно.
У кого-нибудь есть действительно простой рабочий пример, пожалуйста