2010-03-31 19 views
0

Exchange Server의 특정 도메인에서 나가는 전자 메일을 가로 채어 실제로 전달되기 전에 헤더를 수정할 수 있기를 원합니다.나가는 Exchange Server 전자 메일을 가로 채고 수정하기

기본적으로 우리 회사는 MDaemon을 사용하고 MDaemon을 사용하고 DKim과 DomainKeys를 사용하여 모든 전자 메일에 서명 했으므로 새 회사는이 작업을 수행 할 수없고 수행하지 않을 Exchange Server를 사용합니다. 이것은 내가 생각할 수있는 중요한 감독 인 것으로 보이므로 나는 스스로 그것을 할 필요가 있다고 생각한다. hMailServer를 사용하여 개인 메일 서버에서 사용하는 지정된 메시지 파일에 서명 할 수있는 COM 구성 요소를 이미 작성했습니다. 따라서 Exchange와 비슷한 기능을 수행하려고합니다.

가능한가요, 그렇다면 어떻게할까요?

본 적이 있지만 분명히 할 수있는 방법을 찾을 수 없습니다. 내가 포함 보았다 것들 중 일부 :

  • 전송 에이전트
  • 이벤트 싱크
  • 스토어 이벤트

어떤 도움을 주시면 감사하겠습니다. 감사.

+0

어떤 Exchange 버전입니까? 2007 년은 거의 완전한 재 작성 이었기 때문에 이전과는 다소 다릅니다 ... – ewall

+0

확실하지 않지만 2007 년은 지금 가야합니다. – Dan

답변

0

Exchange 2007 및 이후 버전 : TransportAgent가 올바른 방법 일 것 같습니다.

아주 기본적인 샘플 :

public class TestAgent : SmtpReceiveAgent 
{ 
    public TestAgent() 
    { 
     this.OnEndOfData += new EndOfDataEventHandler(MyEndOfDataHandler); 
    } 
    private void MyEndOfDataHandler(ReceiveMessageEventSource source, EndOfDataEventArgs e) 
    { 
     // The following line appends text to the subject of the message that caused the event. 
     e.MailItem.Message.Subject += " - this text appended by MyAgent"; 
    } 
} 

당신은 GetContentWriteStream()를 통해 실제 메시지를 변경하고 단지 추가하거나 기존 내용을 대체 할 수 있습니다.

더 많은 샘플은 here입니다.

나는 알고있다 ... 그것은 늦은 대답이지만, 나는이 질문을 비틀 거리며 발견 한 유용한 링크를 남기고 싶다.

0

어쩌면 Generic Exchange Transport Agent (오픈 소스, 링크는 GitHub로 이동)을 사용할 수 있습니다. Exchange 전송 에이전트 위에 추상화 계층을 제공하며 수신/발신 전자 메일에 대한 이벤트를 처리하도록 특별히 설계되었습니다. 사용자 지정 배치 스크립트를 호출하여 전체 전자 메일을 다시 작성할 수 있습니다 (예 : 사용자 정의 헤더를 추가하는 등.

관련 문제