메일 서버에서 이메일 필터링

보낸 사람, 받는 사람 또는 날짜별 메시지 필터링

다음은 Pop3Client 클래스, 자세한 내용은 POP3 서버에 연결, 제공하는 ListMessages() 메서드는 사서함의 모든 메시지를 가져옵니다. 특정 조건에 일치하는 메시지만 얻으려면 오버로드된 메서드를 사용하십시오 ListMessages() 메서드는 ~를 받아들입니다 MailQuery 을 인수로 사용합니다. MailQuery 클래스는 날짜, 제목, 발신자, 수신자 등과 같은 쿼리 조건을 지정하기 위한 다양한 속성을 제공합니다.  MailQueryBuilder 클래스는 검색 식을 구축하는 데 사용됩니다. 먼저 모든 조건과 제약을 설정하고 나서 MailQuery ~에 의해 개발된 쿼리로 채워집니다 MailQueryBuilder. The MailQuery 클래스 객체는 ~에 의해 사용됩니다 Pop3Client 서버에서 필터링된 정보를 추출합니다. 이 문서는 사서함에서 이메일 메시지를 필터링하는 방법을 보여줍니다. 첫 번째 예제는 날짜와 제목을 기준으로 메시지를 필터링하는 방법을 설명합니다. 또한 다른 기준으로 필터링하고 더 복잡한 쿼리를 만드는 방법도 보여줍니다. 날짜와 시간 필터를 적용하여 사서함에서 특정 이메일을 검색하는 예시도 포함됩니다. 추가로 대소문자 구분 필터링 적용 방법도 설명합니다.

사서함에서 메시지 필터링

사서함에서 메시지를 필터링하려면:

  1. POP3 서버에 연결.
  2. 다음의 인스턴스를 생성합니다 MailQuery 그리고 원하는 속성을 설정합니다.
  3. 다음을 호출합니다. Pop3Client.ListMessages(MailQuery query) method에 전달하고 MailQuery 매개변수에 지정하여 필터링된 메시지만 가져옵니다.

다음 코드 스니펫은 POP3 사서함에 연결하고 오늘 도착한 메시지 중 제목에 "newsletter"가 포함된 메시지를 가져오는 방법을 보여줍니다.

특정 기준으로 메시지 조회

위의 코드 샘플 이메일 제목과 날짜를 기준으로 메시지를 필터링하는 방법을 보여줍니다. 다른 지원 조건을 설정하기 위해 다른 속성을 사용할 수도 있습니다. 아래는 해당 속성을 사용하여 조건을 설정하는 몇 가지 예시입니다. MailQuery.

다음 코드 스니펫은 다른 기준으로 이메일을 필터링하는 방법을 보여줍니다:

  • 오늘 전달된 이메일을 찾습니다.
  • 특정 기간 내에 수신된 이메일을 찾습니다.
  • 특정 발신자의 이메일을 찾습니다.
  • 특정 도메인에서 보낸 이메일을 찾습니다.
  • 특정 수신자에게 보낸 이메일을 찾습니다.

오늘 날짜

다음 코드 스니펫은 오늘 전달된 이메일을 찾는 방법을 보여줍니다.

날짜 범위

다음 코드 스니펫은 특정 기간 내에 수신된 이메일을 찾는 방법을 보여줍니다.

특정 발신자

다음 코드 스니펫은 특정 발신자에게서 온 이메일을 찾는 방법을 보여줍니다.

특정 도메인

다음 코드 스니펫은 특정 도메인에서 보낸 이메일을 찾는 방법을 보여줍니다.

특정 수신자

다음 코드 스니펫은 특정 수신자에게 보낸 이메일을 찾는 방법을 보여줍니다.

복잡한 쿼리 구성

다른 경우 MailQueryBuilder 속성을 별도의 문장으로 설정하면 모든 조건이 일치합니다. 예를 들어, 날짜 범위와 특정 호스트에서 온 메시지를 가져오려면 세 개의 문장을 작성해야 합니다.

AND 연산자로 쿼리 결합

다음 코드 스니펫은 AND로 쿼리를 결합하는 방법을 보여줍니다.

OR 연산자로 쿼리 결합

MailQueryBuilder 제공합니다 Or() 두 개를 받는 메서드 MailQuery 인스턴스를 매개변수로 사용합니다. 지정된 두 조건 중 하나라도 일치하는 메시지를 가져옵니다. 다음 코드 스니펫은 제목에 “test”가 포함되었거나 발신자가 "noreply@host.com"인 메시지를 필터링하는 방법을 보여줍니다. 또한 OR 연산자를 사용해 쿼리를 결합하는 방법을 보여줍니다.

대소문자 구분 필터

API는 또한 대소문자 구분 기준에 따라 사서함의 이메일을 필터링하는 기능을 제공합니다. 다음 메서드들은 대소문자 구분 플래그를 지정하여 이메일을 검색할 수 있는 기능을 제공합니다.

  • Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)