2009-06-25 2 views
2

.구문 분석 MIME 메시지 module.i은 내가 마임 데이터를 base64 인코딩을 받고 있어요 서버를 호출하는거야 web.when의 모든 이메일 정보를 표시 할 필요가 이메일을 보내이 내 새로운 프로젝트에 대한

/********************* 마임 데이터 ******** 시작 : 다음과 같이 마임 데이터를 가져 오는 base64로 디코딩 기술 메신저를 적용한 후 ***************************/

From [email protected] Tue Jun 23 12:01:02 2009 
Date: Tue, 23 Jun 2009 12:01:02 +0530 
From: Prashant R Naik <[email protected]> 
To: [email protected] 
Subject: This is a test mail 
Message-ID: <[email protected]> 
Reply-To: Prashant R Naik <[email protected]> 
MIME-Version: 1.0 
Content-Type: multipart/mixed; boundary="ReaqsoxgOBHFXBhH" 
Content-Disposition: inline 
User-Agent: Mutt/1.5.18 (2008-05-17) 
Status: RO 
Content-Length: 1912 
Lines: 52 


--ReaqsoxgOBHFXBhH 
Content-Type: text/plain; charset=us-ascii 
Content-Disposition: inline 

Test mail. 
Initiated by prashant 

Regards, 
-- 
Prashant R Naik 
Principal Technologist | Symbian & Web2.0 
Geodesic Limited | www.geodesic.com 
Tel: +91-80-66551000 

--ReaqsoxgOBHFXBhH 
Content-Type: image/gif 
Content-Disposition: attachment; filename="trash.gif" 
Content-Transfer-Encoding: base64 

R0lGODlhEAAQANUoADJ8wTqU2DmR1TqV2DN9wTSBxTWFyTaGyTJ9wTWGyTaKzjmS1TOAxTuV 
2DaFyTN8wDiN0jiO0jSAxTeKzjqS1DN8wTqR1TWFyjB4vTOBxTmO0TmS1DaKzTeJzTqV1zSA 
xDJ8wDqS1TeKzTF4vDF4vTiO0f///zuX2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACgALAAA 
AAAQABAAAAaDQNRpSCwWhcakcsk8mZ5Qpik5pUKvT2W1uDVWp+BiYNAImAZmz/lcDoQEFoFp 
QTFtTPKFQLCAREolJiURJhCCJhqAJRMiIhwmjSYdJgqUjQoODgkJJgecBp0mBgYXBx8ZBQxY 
UAUSDAUACLEPDwgEAAAEIBUEtygkIyMkwMMYw8EjKEEAOw== 

--ReaqsoxgOBHFXBhH 
Content-Type: image/jpeg 
Content-Disposition: attachment; filename="bx.jpg" 
Content-Transfer-Encoding: base64 

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB 
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEB 
AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAAR 
CAAUAAoDAREAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAn/xAAYEAEAAwEAAAAAAAAA 
AAAAAAAAGWen5//EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA 
/9oADAMBAAIRAxEAPwCb4AJHym0Vp3PQJTaK07noJHgA/9k= 

--ReaqsoxgOBHFXBhH 
Content-Type: image/png 
Content-Disposition: attachment; filename="day_bg.png" 
Content-Transfer-Encoding: base64 

iVBORw0KGgoAAAANSUhEUgAAAGQAAAApCAYAAADDJIzmAAAABmJLR0QA/wD/AP+gvaeTAAAA 
CXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AwCCS0kTriU2QAAAB10RVh0Q29tbWVudABD 
cmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAAXElEQVR42u3bQQEAMAgDMZiqiZtP5AwbfeQk 
NO/WvPtLMR0TABEQIAICRECACAgQAREQIAICRECACAgQAREQIAICRECACAgQAREQIAICRECA 
CAgQARGQ7NpPPasFT+0FZPjBRwYAAAAASUVORK5CYII= 

--ReaqsoxgOBHFXBhH-- 

/************** ******* 마임 데이터 단부 ***********************************/

이제 문제는 내가 마임 데이터를 구문 분석하는 방법을 알고 하나 .SO (일부 태그로 구문 분석 쉽기 때문에) 어려운 구문 분석 할 수 있도록이 데이터가 XML 아닌이 데이터를 분석하고 내 application.since에서 사용 할 필요가있다 erlang을 사용하여이 데이터를 구문 분석하십시오.

답변

4

gen_smtperlang_smtp는 MIME 메시지를 구문 분석 코드를 포함하고 사전에 감사합니다.

+0

하지만 어떤 방법 고맙습니다 내 상황에서 유용하지 보인다 – Abhimanyu

2

아, 죄송합니다 ... OK. 그것은 하나 정말이 추측 때문에 그런 골룸과 수수께끼 게임의 정신으로, 나는 매우 공정하지 만 "딸기 종 또는 아무것도"를 제공 할 수 있습니다.

http://yaws.hyber.org/yapp_intro.yaws

그러나, 자신의 마임 파서 롤링하는 것은 매우 어려운 일이 아니다. "Boundary"를 가져 와서 "-"와 일치하는 줄에 메시지를 나눕니다. 그런 다음 각 청크에 대해 CRLF, CRLF에 도달 할 때까지 제목을 구문 분석하십시오. 그러면 콘텐츠가 시작됩니다.

"다른 언어 사용"이라는 응답은 일반적으로 도움이되지 않습니다. 나는 Erlang을 "이 일을 더 쉽게 할 언어"로 선택하지 않았다고 추측 할 것이므로 외부의 제약이 있다고 생각합니다. Erlang이 선호하는 솔루션 언어 인 이유를 공유 하시겠습니까? :)