다음을 통해 공유


전송 에이전트 이해

적용 대상: Exchange Server 2010

마지막으로 수정된 항목: 2010-01-15

전송 에이전트를 사용하면 Microsoft, 타사 공급업체 또는 사용자의 조직에서 만든 사용자 지정 소프트웨어를 Microsoft Exchange Server 2010을 실행하는 컴퓨터에 설치할 수 있습니다. 그런 다음 이 소프트웨어는 허브 전송 서버 또는 Edge 전송 서버에서 전송 파이프라인을 통해 전달되는 전자 메일 메시지를 처리할 수 있습니다. 사용자 지정 전송 에이전트는 조직에 필요한 스팸 방지 및 바이러스 백신 프로그램이나 전송 기능과 같은 추가 기능을 Exchange 2010에 제공합니다.

일반적으로 전송 에이전트는 Exchange 2010과 함께 작동하도록 설계된 응용 프로그램의 일부로 자동으로 설치됩니다. 그러나 Exchange 2010 조직 전체에서 이동하는 메일을 관리하기 위해 고유한 전송 에이전트를 개발해야 하는 경우가 있습니다.

경고

전송 에이전트는 발생하는 모든 전자 메일 메시지에 대한 모든 권한을 가집니다. Exchange에서는 전송 에이전트의 동작을 제한하지 않습니다. 불안정하거나 보안 결함을 가진 전송 에이전트는 Exchange의 안정성과 보안에 영향을 줄 수 있습니다. 따라서 완전히 트러스트하며 테스트 환경에서 완전하게 테스트된 전송 에이전트만 설치해야 합니다.

전송 에이전트 관리와 관련된 관리 작업에 대한 자세한 내용은 전송 에이전트 관리를 참조하십시오.

목차

전송 에이전트 및 SMTP 이벤트

전송 에이전트의 우선 순위

기본 제공 전송 에이전트

전송 에이전트 문제 해결

전송 에이전트 및 SMTP 이벤트

Exchange 2010용으로 작성된 전송 에이전트는 SMTP 이벤트를 사용합니다. 이러한 이벤트는 메시지가 전송 파이프라인을 통해 이동할 때 트리거됩니다. SMTP 이벤트는 SMTP 변환 도중 및 조직 전체에서의 메시지 라우팅 도중 특정 시점에 메시지에 대한 액세스를 전송 에이전트에 제공합니다. 다음 표에서는 전송 파이프라인의 메시지에 대한 액세스를 제공하는 SMTP 이벤트를 보여 줍니다.

SMTP 수신 이벤트

시퀀스 SMTP 이벤트 설명

1

OnConnect

원격 SMTP 호스트에서의 초기 연결 시에 이 이벤트가 트리거됩니다.

2

OnEhloCommand

원격 SMTP 호스트에서 EHLO SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다.

3

OnHeloCommand

원격 SMTP 호스트에서 HELO SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다.

4

OnAuthCommand

원격 SMTP 호스트에서 AUTH SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다.

5

OnEndOfAuthentication

원격 SMTP 호스트에서 인증을 완료한 경우 이 이벤트가 트리거됩니다.

6

OnMailCommand

원격 SMTP 호스트에서 MAIL FROM SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다.

7

OnRcptToCommand

원격 SMTP 호스트에서 RCPT TO SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다.

8

OnDataCommand

원격 SMTP 호스트에서 DATA SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다.

9

OnEndOfHeaders

원격 SMTP 호스트에서 전자 메일 메시지 헤더 전송을 완료한 경우 이 이벤트가 트리거됩니다.

10

OnEndOfData

원격 SMTP 호스트에서 데이터의 끝을 나타내는 <CRLF>를 발급할 경우 이 이벤트가 트리거됩니다.

**

OnHelpCommand

원격 SMTP 호스트에서 HELP SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다. 이 이벤트는 OnConnect SMTP 이벤트 이후와 OnDisconnect SMTP 이벤트 이전에 언제든지 발생할 수 있습니다.

**

OnNoopCommand

원격 SMTP 호스트에서 NOOP SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다. 이 이벤트는 OnConnect SMTP 이벤트 이후와 OnDisconnect SMTP 이벤트 이전에 언제든지 발생할 수 있습니다.

**

OnReject

받는 SMTP 호스트가 임시 또는 영구 DSN(배달 상태 알림) 코드를 보내는 SMTP 호스트에 발급할 경우 이 이벤트가 트리거됩니다. 이 이벤트는 OnConnect SMTP 이벤트 이후와 OnDisconnect SMTP 이벤트 이전에 언제든지 발생할 수 있습니다.

**

OnRsetCommand

보내는 SMTP 호스트에서 RSET SMTP 동사를 발급할 경우 이 이벤트가 트리거됩니다. 이 이벤트는 OnConnect SMTP 이벤트 이후와 OnDisconnect SMTP 이벤트 이전에 언제든지 발생할 수 있습니다.

11

OnDisconnect

보내는 또는 받는 SMTP 호스트에 의해 SMTP 대화의 연결이 끊긴 경우 이 이벤트가 트리거됩니다.

분류기 이벤트

시퀀스 분류기 이벤트 설명

1

OnSubmittedMessage

받는 SMTP 호스트의 전송 큐에 메시지가 전송될 경우 이 이벤트가 트리거됩니다. SMTP 전송, MAPI 전송, Pickup 또는 Replay 디렉터리를 통해 도착했는지 여부에 상관없이 모든 메시지에 이 이벤트가 발생합니다.

2

OnResolvedMessage

이 이벤트는 모든 받는 사람이 확인된 후부터 각 받는 사람에 대해 다음 홉이 결정될 때까지 트리거됩니다. OnResolvedMessage 라우팅 이벤트를 사용하면 후속 이벤트가 받는 사람당 SetRoutingOverride 메서드를 사용하여 기본 라우팅 동작을 무시합니다.

3

OnRoutedMessage

메시지가 범주화되고 메일 그룹이 확장되고 받는 사람이 확인된 후에 이 이벤트가 트리거됩니다.

4

OnCategorizedMessage

이 이벤트는 분류기가 메시지 처리를 완료할 때 트리거됩니다.

전송 에이전트는 앞 표에 나열된 모든 SMTP 이벤트에 등록할 수 있습니다. 그러나 의도적인 전송 에이전트 동작에서는 일반적으로 실행되는 SMTP 이벤트가 결정됩니다.

스팸 방지 에이전트를 예로 들어보겠습니다. 이러한 에이전트의 경우 가장 중요한 고려 사항은 메시지 콘텐츠의 유효성이 아니라 유효한 스팸 메시지가 식별 및 거부되는 시점입니다. 스탬으로 확인된 메시지가 더 빨리 거부될수록 조직의 비용이 줄어듭니다. OnEndOfData SMTP 이벤트 이전에 트리거되는 모든 SMTP 이벤트는 받는 SMTP 호스트에서 NDR(배달 실패 확인)을 생성할 필요가 없습니다. OnEndOfData SMTP 이벤트가 도달하기 전에 전체 메시지 콘텐츠가 배달되지 않으므로 NDR이 생성되지 않습니다. 따라서 보내는 SMTP 호스트가 여전히 최종 메시지 배달을 담당합니다. OnEndOfData SMTP 이벤트 이전에 받는 SMTP 호스트로의 배달에 실패한 경우 보내는 SMTP 호스트는 메시지 보낸 사람에 대한 NDR을 생성해야 합니다. OnEndOfData SMTP 이벤트에 도달한 후 받는 SMTP 호스트는 메시지의 전체 콘텐츠를 수락합니다. 이는 이제 SMTP 호스트가 메시지를 배달하고 NDR을 메시지 보낸 사람에게 보내는 역할을 담당한다는 것을 의미합니다. 따라서 받는 SMTP 호스트가 메시지 콘텐츠를 저장하고 메시지 보낸 사람에 대한 NDR을 생성해야 하는 가능성을 줄이기 위해 OnEndOfData SMTP 이벤트에 도달하기 전에 SMTP 이벤트에서 스팸 방지 에이전트 자체를 등록하는 것이 중요합니다.

그러나 바이러스 백신 에이전트의 경우 가장 중요한 고려 사항은 모든 메시지가 검색되어야 한다는 것입니다. 모든 메시지를 확인해야 하는 에이전트는 OnSubmittedMessage SMTP 이벤트에서 구성되어야 합니다. 전송 파이프라인을 통해 이동하는 모든 메시지에는 OnSubmittedMessage SMTP 이벤트가 발생합니다. 이는 원격 호스트에서의 SMTP 전송, 사서함 서버 역할을 실행하는 컴퓨터에서의 MAPI 전송, 사용자 지정 응용 프로그램에 사용되는 Pickup 디렉터리 또는 타사 전자 메일 응용 프로그램에 사용되는 Replay 디렉터리와 같은 가능한 모든 전송 진입점 이후에 이 이벤트가 발생하기 때문입니다.

맨 위로 이동

전송 에이전트의 우선 순위

Exchange 2010에서는 Exchange에 포함되어 있고 사용자 지정 응용 프로그램에 의해 추가되는 전송 에이전트의 우선 순위를 지정할 수 있습니다. 전송 에이전트의 우선 순위를 지정할 경우 메시지에서 가장 먼저 작동하는 에이전트를 제어할 수 있습니다. 전송 에이전트에는 1 이상의 우선 순위를 할당할 수 있습니다. 1에 가까운 우선 순위를 가진 전송 에이전트가 메시지에 먼저 적용됩니다. 그러나 전송 에이전트에 할당하는 우선 순위는 전송 에이전트가 메시지에 적용되는 순서를 결정하는 데 사용되는 하나의 요소에 불과합니다. 전송 에이전트의 우선 순위를 결정하는 데 사용되는 두 번째 요소는 등록된 전송 에이전트가 있는 SMTP 이벤트가 SMTP 이벤트 시퀀스 내에서 해당하는 위치입니다.

이 항목의 앞부분에 나온 표에서 SMTP 이벤트는 전송 파이프라인을 통해 이동하는 메시지에 적용되는 특정 시퀀스를 갖고 있습니다. 전송 에이전트는 특정 SMTP 이벤트에 등록되므로 우선 순위는 동일한 SMTP 이벤트에 등록된 에이전트에만 적용됩니다.

예를 들어 전송 에이전트가 다음과 같이 구성될 수 있습니다.

  • OnEndofHeaders SMTP 이벤트에 등록된 우선 순위가 1인 전송 에이전트 AgentA
  • OnMailCommand SMTP 이벤트에 등록된 우선 순위가 4인 전송 에이전트 AgentB

Get-TransportAgent cmdlet을 사용하여 등록된 에이전트의 목록을 볼 경우 전송 에이전트 AgentA가 전송 에이전트 AgentB보다 높은 우선 순위로 표시됩니다. 그러나 메시지가 전송 파이프라인을 통해 이동할 경우 전송 에이전트 AgentB는 전송 에이전트 AgentA보다 메시지에 먼저 적용됩니다. 이는 OnMailCommand SMTP 이벤트가 OnEndOfHeaders SMTP 이벤트보다 먼저 메시지에 발생하기 때문입니다.

맨 위로 이동

기본 제공 전송 에이전트

Exchange 2010에는 전송 규칙 및 저널링과 같은 기능을 제공할 수 있게 하는 여러 기본 전송 에이전트가 포함되어 있습니다. 기본적으로 다음 표에 나열되어 있는 전송 에이전트는 허브 전송 서버 및 Edge 전송 서버에 설치됩니다. 또한 다음 표에서는 각 에이전트에 대한 추가적인 정보가 포함된 항목의 링크도 나와 있습니다.

허브 전송 서버 전송 에이전트

에이전트 이름 우선 순위 SMTP 이벤트 관련 항목

전송 규칙 에이전트

1

OnRoutedMessage

전송 규칙 이해

RMS 암호 해독 에이전트

이 에이전트의 우선 순위는 사용자가 구성할 수 없습니다.

OnSubmittedMessage

정보 권한 관리 이해

저널 보고서 암호 해독 에이전트

이 에이전트의 우선 순위는 사용자가 구성할 수 없습니다.

OncCategorizedMessage

저널링 이해

RMS 암호화 에이전트

이 에이전트의 우선 순위는 사용자가 구성할 수 없습니다.

OnRoutedMessage

정보 권한 관리 이해

이전 라이선스 에이전트

이 에이전트의 우선 순위는 사용자가 구성할 수 없습니다.

OnRoutedMessage

정보 권한 관리 이해

저널링 에이전트

이 에이전트의 우선 순위는 사용자가 구성할 수 없습니다.

OnSubmittedMessage, OnRoutedMessage

저널링 이해

Edge 전송 서버 전송 에이전트

에이전트 이름 우선 순위 SMTP 이벤트 관련 항목

연결 필터링 에이전트

1

OnConnectEvent, OnMailCommand, OnRcptComand, OnEndOfHeaders

연결 필터링 이해

주소 다시 쓰기 인바운드 에이전트

2

OnRcptCommand, OnEndOfHeaders

주소 다시 쓰기 이해

Edge 규칙 에이전트

3

OnEndOfData

전송 규칙 이해

콘텐츠 필터 에이전트

4

OnEndOfData

콘텐츠 필터링 이해

보낸 사람 ID 에이전트

5

OnEndOfHeaders

보낸 사람 ID 이해

보낸 사람 필터 에이전트

6

OnMailCommand, OnEndOfHeaders

보낸 사람 필터링 이해

받는 사람 필터 에이전트

7

OnRcptCommand

받는 사람 필터링 이해

프로토콜 분석 에이전트

8

OnEndOfHeaders, OnEndOfData, OnReject, OnRsetCommand, OnDisconnectEvent

프로토콜 로깅 이해

첨부 파일 필터링 에이전트

9

OnEndOfData

첨부 파일 필터링 이해

주소 다시 쓰기 아웃바운드 에이전트

10

OnRcptCommand, OnEndOfHeaders

주소 다시 쓰기 이해

맨 위로 이동

전송 에이전트 문제 해결

전송 에이전트를 사용하면 Exchange에서 조직 전체의 전자 메일 메시지 흐름을 제어하는 데 도움이 됩니다. 이 기능을 통해 전자 메일 인프라와 일치하도록 조직을 강제하는 대신에 조직의 요구 사항에 Exchange 인프라를 일치시킬 수 있습니다. 환경을 사용자 지정할 경우 해당 환경의 복잡도가 증가합니다. 발생할 수 있는 문제를 해결하고 변경 내용이 예상한 방식대로 메시지에 적용되는지 확인할 수 있도록 Exchange에서는 다음 기능을 제공합니다.

  • Get-TransportPipeline cmdlet   Get-TransportPipeline cmdlet은 사용하도록 설정된 모든 전송 에이전트와 이러한 에이전트가 등록된 SMTP 이벤트를 보여 줍니다. 이러한 SMTP 이벤트는 Microsoft 전송 서비스가 시작된 시점 및 cmdlet이 실행된 시점 사이에서 전송 파이프라인의 메시지에 발생한 이벤트입니다. 자세한 내용은 전송 파이프라인에서 전송 에이전트 보기을 참조하십시오.

    참고

    Get-TransportPipeline cmdlet에 의해 표시되는 정보는 전송 파이프라인을 통해 메시지가 보내진 후에만 생성됩니다. 또한 메시지가 발생한 전송 에이전트만 표시됩니다.

  • **파이프라인 추적 **  파이프라인 추적을 사용하면 각 전송 에이전트에서 발생하기 전과 후에 전체 메시지의 정확한 스냅숏을 만들 수 있습니다. 파이프라인 추적을 사용하면 예기치 않은 결과를 생성했을 수 있는 전송 에이전트를 확인하거나 전송 에이전트가 예상대로 작동하는지 확인할 수 있습니다.