2012-02-27 3 views
0

표준 smtp를 처리해야하는 SMTP 구문 분석기와 IMF 헤더를 포함하지 않는 제어 할 수없는 시스템에서 보낸 SMTP 메시지를 작성하고 있습니다. 예를 들어, 헤더가 IMFSMTP 메시지에 IMF 헤더가 있는지 확인하는 가장 좋은 방법은 무엇입니까?

기본 SMTP :

From: "Blah blah blah" [email protected] 
To: [email protected] 
Subject: This is a standard SMTP message 
Date: Mon, 5 Oct 2009 11:36:07 +0530 
MIME-Version: 1.0 
Content-Type: text/plain 
Content-Language: en-us 
Testing testing 1 2 3 

놨 SMTP :

Testing testing 1 2 3 

바람직 C#에서, 그러나, 어떤 언어 괜찮다. 아무런 추측도 없습니다. SMTP/IMF 사양을 이해하는 사람이 필요합니다. 나는 그것을 되찾고, 당신이 원하는 모든 것을 추측한다. lol

+0

정규식을 작성하고 각 메시지를 비교합니다 (정규식에 머리말의 시작 부분에서만 일치하는 "^"특수 문자가 있음) – user1227804

+0

따라서 나쁜 경우는 발신자가 기본 메시지 만 포함하고 메시지 헤더는 포함하지 않는다는 의미입니까? IMF가 당신을 위해 무엇을 의미합니까? 그건 약어가 아니기 때문에 나는 SMTP 메일의 맥락에서 익숙하다. – Joe

+0

IMF는 인터넷 메시지 형식입니다. SMTP 대화 중에 데이터 푸시 시작 부분에있는 모든 보낸 사람 :받는 사람 : 쓰레기. RFC 2822. 내가 겪고있는 문제는 데이터가 헤더 또는 사용자가 입력 한 텍스트인지 아닌지를 구별하는 것입니다. IMF 헤더의 모든 필드는 선택 사항이며 임의의 순서로 지정할 수 있습니다. – ConditionRacer

답변

1

정말로 자신의 SMTP 파서를 작성하고 싶지 않다면; 제 3 자 라이브러리가 도움이되기를 바랍니다. 우리는 OpenPop을 선택했습니다. 그것은 잘 작동하고, 우리가 던진 모든 것을 처리하고, 여전히 지원됩니다.

아니요, 저는 그들과 제휴하지 않았습니다.

+0

나쁘지 않은 생각입니다. 감사합니다. – ConditionRacer

+0

OpenPOP과 함께 가기로했습니다. 제안 해 주셔서 감사합니다! – ConditionRacer

+0

도와 드리겠습니다! 행운을 빕니다. – AlG

1

몇 가지.

SMTP 파서는 원하지 않으므로 Mime 메시지 파서가 필요합니다. MIME 메시지를 구문 분석하는 것은 간단한 작업이 아닙니다. 저기 밖에 깨진 메시지 형식의 1000s, 또는 그냥 평범한 이상한 형식, 아직 RFC2822 (MIME 메시지) 준수.

Mime 메시지 파서 (codeproject 또는 소스와 같은 소스 - 무료 인 경우) 또는 상용 제품을 사용하는 것이 좋습니다.

그런 다음 헤더를 반복하여 규칙과 일치하는지 확인하십시오.

-Dave
추신 : 나는 그것을 작성한 이후로 aspNetMime의 일부입니다.

+0

글쎄, 나는 SMTP, IMF, MIME 파서를 쓰고있다. 하지만 IMF는 헤더 섹션이 무엇인지, MIME은 첨부 파일을 위해 IMF를 확장한다고 생각합니다. 내가 틀렸다면 정정해라, 나는 지금 단지 2,3 일 동안 RFC 's를 읽고 있었다. 당신은 맞지만, OpenPOP과 함께 가기로 결정했습니다. MIME은 @ss의 고통입니다. – ConditionRacer

+0

SMTP는 전자 메일 봉투를 정의합니다. IMF와 MIME은 내용을 정의합니다. IMF는 일반 텍스트 용입니다. MIME은 다른 모든 것을위한 것입니다. –

관련 문제