![C#에서 Exchange Server의 받은 편지함 규칙 관리](images/aspose-email-exchange.png#center)
Microsoft Exchange Server를 사용하면 메시지를 폴더로 이동, 메시지 삭제 등과 같이 메시지에 적용되는 받은 편지함에 대해 다양한 규칙을 정의할 수 있습니다. .NET 응용 프로그램 내에서 Exchange 서비스로 작업하는 동안 , 받은 편지함 규칙을 프로그래밍 방식으로 관리해야 할 수 있습니다. 이 문서에서는 C# .NET의 MS Exchange Server에서 받은 편지함 규칙을 만들고 업데이트하는 방법을 배웁니다.
- Exchange Server에서 받은 편지함 규칙을 관리하는 .NET API
- Exchange Server에서 받은 편지함 규칙 만들기
- Exchange Server에서 받은 편지함 규칙 업데이트
Exchange Server에서 받은 편지함 규칙을 관리하는 .NET API
MS Exchange Server에서 받은 편지함 규칙을 만들고 업데이트하려면 .NET용 Aspose.Email을 사용합니다. API를 사용하면 MS Exchange Server와 원활하게 작업할 수 있습니다. 다음 명령을 사용하여 API의 DLL을 다운로드하거나 NuGet에서 설치할 수 있습니다.
PM> Install-Package Aspose.Email
C#에서 Exchange Server의 받은 편지함 규칙 만들기
.NET용 Aspose.Email은 EWS(Exchange 웹 서비스)를 사용하여 Exchange Server의 받은 편지함 규칙을 사용합니다. 다음은 C#에서 Exchange Server의 받은 편지함 규칙을 만드는 단계입니다.
- 먼저 Exchange Server에 연결하고 EWS 클라이언트의 인스턴스를 IEWSClient 개체로 가져옵니다.
- 그런 다음 InboxRule 클래스의 객체를 생성합니다.
- InboxRule.DisplayName 속성을 사용하여 규칙의 이름을 설정합니다.
- RulePredicates 클래스의 인스턴스를 만들고 조건을 지정합니다.
- RulePredicates 인스턴스를 InboxRule.Conditions 속성에 할당합니다.
- RuleActions 클래스의 인스턴스를 생성하고 액션을 설정합니다.
- RuleAction 인스턴스를 InboxRule.Actions 속성에 할당합니다.
- 마지막으로 IEWSClient.CreateInboxRule(InboxRule)를 호출하여 규칙을 생성합니다.
다음 코드 샘플은 C#에서 Exchange Server에 대한 받은 편지함 규칙을 만드는 방법을 보여줍니다.
// Exchange Server 웹 서비스 URL, 사용자 이름, 암호 및 도메인 설정
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
// Exchange 서버에 연결
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");
// 새 규칙 만들기
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";
// 조건 추가
RulePredicates newRules = new RulePredicates();
// 조건 설정: 제목에 "ABC" 문자열이 포함됨
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;
// 작업 추가
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;
// 규칙 만들기
client.CreateInboxRule(rule);
C#에서 Exchange Server의 받은 편지함 규칙 업데이트
다음은 C#에서 Exchange Server의 기존 받은 편지함 규칙을 가져오고 업데이트하는 단계입니다.
- 먼저 Exchange Server에 연결하고 EWS 클라이언트의 인스턴스를 IEWSClient 개체로 가져옵니다.
- 그런 다음 IEWSClient.GetInboxRules() 메서드를 호출하여 InboxRule 배열의 모든 규칙을 가져옵니다.
- 배열의 각 InboxRule을 반복합니다.
- 일부 조건에 따라 필수 규칙을 필터링합니다.
- 규칙의 조건 또는 작업을 업데이트합니다.
- 마지막으로 IEWSClient.UpdateInboxRule(InboxRule) 메서드를 호출하여 받은 편지함 규칙을 업데이트합니다.
다음 코드 샘플은 C#의 MS Exchange Server에서 받은 편지함 규칙을 업데이트하는 방법을 보여줍니다.
// MailboxURI, 사용자 이름, 암호 및 도메인 설정
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
// Exchange 서버에 연결
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");
// 모든 받은 편지함 규칙 가져오기
InboxRule[] inboxRules = client.GetInboxRules();
// 각 규칙 반복
foreach (InboxRule inboxRule in inboxRules)
{
if (inboxRule.DisplayName == "Message from client ABC")
{
// 규칙 업데이트
inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
client.UpdateInboxRule(inboxRule);
}
}
무료 API 라이선스 받기
평가 제한 없이 Aspose.Email for .NET을 사용할 수 있는 무료 임시 라이선스를 얻을 수 있습니다.
결론
이 문서에서는 .NET 응용 프로그램 내에서 Microsoft Exchange Server의 받은 편지함 규칙을 사용하는 방법을 배웠습니다. 코드 샘플을 통해 C#에서 Exchange Server의 받은 편지함 규칙을 추가하거나 업데이트하는 방법을 살펴보았습니다. 또한 문서를 탐색하여 .NET용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼에 질문을 게시할 수 있습니다.