0
我正試圖編寫一個程序來讀取交換郵箱。我對c#很陌生,所以如果錯誤太明顯,請原諒。EWS C#錯誤:在當前上下文中不存在
下面的代碼,當我試圖綁定EmailMessage和給我的錯誤失敗 - 「名稱‘身份證’確實沒有存在於當前的背景下」
using Microsoft.Exchange.WebServices.Data;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ResetOraclePassword
{
class Program
{
static void Main(string[] args)
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
service.Credentials = new WebCredentials("[email protected]", "xxxxxxx");
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback);
Folder inbox = Folder.Bind(service, WellKnownFolderName.Inbox);
PropertySet propSet = new PropertySet(EmailMessageSchema.InternetMessageHeaders, EmailMessageSchema.Body, EmailMessageSchema.HasAttachments, EmailMessageSchema.Attachments,
EmailMessageSchema.Subject, EmailMessageSchema.From, EmailMessageSchema.Sender, EmailMessageSchema.DisplayCc, EmailMessageSchema.DisplayTo, EmailMessageSchema.DateTimeReceived,
EmailMessageSchema.InternetMessageId);
propSet.RequestedBodyType = BodyType.Text;
EmailMessage abc = EmailMessage.Bind(service, id, propSet);
Console.WriteLine(abc.Subject);
Console.WriteLine(abc.InternetMessageId);
Console.WriteLine(abc.DateTimeReceived.ToString());
Console.WriteLine(abc.From.Name);
Console.WriteLine(abc.DisplayTo);
Console.WriteLine(abc.DisplayCc);
Console.WriteLine(abc.Body.Text);
}
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
bool result = false;
Uri redirectionUri = new Uri(redirectionUrl);
if (redirectionUri.Scheme == "https")
{
result = true;
}
return result;
}
}
}
怎麼樣的錯誤信息你不明白?你從不在任何地方定義'id'。 – itsme86
儘管該方法要求一個名爲「id」的參數,但仍然需要提供有效的輸入。因此,您需要事先處理變量的正確初始化 –