私は初心者の開発者で、何時間も EWS を使い続けています。最新のメールを読み、未読のメールをすべて取得し、それらのデータを使用して何かを行う必要があります。
現時点で私のコードは次のようになります。
static void Main(string[] args)
{
ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials("support@mycompany.com", "mysupersuperdupersecretpassword");
service.AutodiscoverUrl("support@mycompany.com", RedirectionUrlValidationCallback);
FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox,new ItemView(2));
foreach (Item item in findResults.Items)
{
// works perfectly until here
Console.WriteLine(item.Subject);
Console.WriteLine('\n');
item.Load();
string temp = item.Body.Text;
// I can't seem to get TextBody to work. so I used a RegEx Match match = Regex.Match(temp, "<body>.*?</body>", RegexOptions.Singleline);
string result = match.Value;
result = result.Replace("<body>", "");
result = result.Replace("</body>", "");
Console.Write(result);
Console.WriteLine('\n');
//Now the email boddy is fine but IsNew always returns false.
if (item.IsNew)
{
Console.WriteLine("This message is unread!");
}
else
{
Console.WriteLine("This message is read!");
}
}
}
私はググって、もう少しググってみましたが、行き詰まっています。どの電子メールが読まれるようになったのか、私が行ったことよりも効果的な電子メール本文を取得する方法はありますか? どんな助けでも大歓迎です。