2014-01-26 2 views
1

반송 메일 처리/추적에 대한 조언이 필요합니다. 우리는 고객을 대신하여받는 사람에게 전자 메일을 보내야하는 시나리오가 있습니다. [email protected]에서 [email protected]으로 이메일을 보내야한다고 말하면서이 이메일이 실패하면 [email protected]에서 반송/실패 알림을 받아야합니다.고객 대신 전자 메일을 보낼 때 반송 이메일 메시지를 처리하는 방법

reply-to/return-path하지만 둘 다 [email protected]으로 대체됩니다. [email protected]의받은 편지함을 소유하고 있지 않으므로 바운스 메시지를 처리 ​​할 수 ​​없습니다.

도와주세요! ..

을 우리는 C# .NET을에 SMTP 클라이언트를 생성

+0

메일에 의해 답장이 덮어 쓰여지고 있습니다 ... – Raju

답변

1

우리는 헤더 회신 또는 우리의 원래 메시지의에 사용자 정의 ID를 삽입에 의존 할 수 있음을 알려드립니다 메일 서버가 반환 한 반송 된 메일은 서버마다 다르므로 많은 사람들이 원본 메시지를 포함시키지 않고 배달이 실패했다는 평범한 텍스트로 그냥 튀었습니다.

내 조언은 성능을 위해 컴파일 된 옵션이있는 Regex를 사용하여 메시지를 검사하는 것입니다. 당신은 자세한 내용을 분류하기 위해 더 많은 패턴을 추가 할 수 있습니다

string pattern = "failed after \S+ sent[\s\n]the[\s\n]message"; 
Regex regexPattern = new Regex(pattern, RegexOptions.Compiled); 

if (regexPattern.Match(myMessage.BodyHtml)) 
{ 
    Console.WriteLine("This is a soft bounce"); 
} 

: 메시지 내용을 읽은 후

, 당신은 메시지가 실패했습니다 전송하는 것을 말한다 소프트 바운스로 메시지를 분류하는 다음과 같은 코드를 사용할 수 있습니다 메시지.

관련 문제