Exchange 2007 NDRs to public Folders
Q1. multipart/alternative로 변경해야하지만 "Content-Type : message/delivery-status"를 찾아 text/plain으로 변경해야하지만 필요하지는 않습니다.
Q2. 이렇게 할 수는 있지만 "원본"메시지에 대한 유일한 옵션은 보낸 사람에게 거부하거나 격리하거나 허용하는 옵션입니다. 삭제/삭제 옵션이 없습니다.하지만 공용 폴더로 이동하기 때문에 폐기됩니다. .
이 경로는 다음 EndOfHeadersEvent 동안 헤더와 본문을 열거 한 다음 새은 MailMessage 객체를 생성 가서 원래
Q3에서 헤더 및 본문을 포함합니다. 그게 작동해야합니다 .. 내가 그것을 볼 수있는 유일한 이유는 일을 wouldnt 할 수 있습니다 당신이 외부의받는 사람에게/도메인 서버에서 허용되지 도메인을 보내려고하는 경우. 실제 외부 주소로 메일 연락처를 만든 다음 외부 연락처에 NDR을 참조해야합니다.
다음은 수행하려는 작업을 수행 할 수있는 코드입니다. 내가 onRcpt 및 onEndOfHeaders에 후크 이유는 입력받는 사람이 address..I 헤더
void UserSendCounterSmtpReceiveAgent_OnRcptCommand(ReceiveCommandEventSource source, RcptCommandEventArgs e)
{
if(source == null || e == null)
{
return;
}
String recipient = e.RecipientAddress.ToString();
if (recipient.Equals("[email protected]"))
{
this.testOnEndOfHeaders = true;
}
}
void UserSendCounterAgent_OnEndOfHeaders(ReceiveMessageEventSource source, EndOfHeadersEventArgs e)
{
if (source == null || e == null)
{
return;
}
if (testOnEndOfHeaders)
{
this.testOnEndOfHeaders = false;
Header obj = e.Headers.FindFirst("Content-Type");
if (obj.Value.Equals(@"multipart/report"))
{
obj.Value = @"multipart/alternative";
e.MailItem.Recipients.Add(new RoutingAddress("[email protected]"));
}
}
}
의 끝에서 RCPT 목록을 열거하는 것보다 더 빨리 발견 공용 폴더가 있는지 확인하는 것입니다