자바 메일 MimeMessage를 사용하여 MIME 본문 부분을 구문 분석하는 방법, IMOD 서버에서 BODY 부분 만 가져옵니다.자바 메일 MimeMessage를 사용하여 MIME 본문을 파싱하십시오.
명령 BODY 부분 만 가져 오는 데 사용되었습니다.
A001 UID FETCH 1 (UID FLAGS BODY.PEEK[1])
이렇게하면 머리글과 첨부 파일은 없지만 인라인 이미지가 포함 된 원시 MIME 메시지를 가져옵니다.
자바 MIME 메시지를 사용하여 가져온 콘텐츠를 구문 분석 할 때 잘못된 결과가 표시됩니다.
예를 들어: 원시 MIME는 인라인 이미지를 인라인 이미지 데이터
원시 MIME와 part.getInputStream()
반환 내용이 포함 된 경우 :
------=_Part_385483_1716430164.1405422119116
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Test mail
------=_Part_385483_1716430164.1405422119116
Content-Type: multipart/related;
boundary="----=_Part_385484_590068567.1405422119140"
------=_Part_385484_590068567.1405422119140
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>Test mail<br><img src="cid:inline_img" style="height: 1200px; width: 1600px;"></body></html>
------=_Part_385484_590068567.1405422119140
Content-Type: image/jpeg; name=1405422097638.jpeg
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=1405422097638.jpeg
Content-ID: <inline_img>
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgEsAZAAwERAAIRAQMRAf/EAMUAAQADAQEBAQEBAAAAAAAA
.....
------=_Part_385484_590068567.1405422119140--
------=_Part_385483_1716430164.1405422119116--
결과 :
Test mail
------=_Part_385483_1716430164.1405422119116
Content-Type: multipart/related;
boundary="----=_Part_385484_590068567.1405422119140"
------=_Part_385484_590068567.1405422119140
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>Test mail<br><img src="cid:inline_img" style="height: 1200px; width: 1600px;"></body></html>
------=_Part_385484_590068567.1405422119140
Content-Type: image/jpeg; name=1405422097638.jpeg
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=1405422097638.jpeg
Content-ID: <inline_img>
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgEsAZAAwERAAIRAQMRAf/EAMUAAQADAQEBAQEBAAAAAAAA
.....
------=_Part_385484_590068567.1405422119140--
------=_Part_385483_1716430164.1405422119116--
어느 한 방법을 제안 할 수 Java MimeMessage를 사용하여 본문을 파싱합니다.
감사합니다.
나는 fetch 명령'A001 UID FETCH 1 (UID FLAGS BODY.PEEK [1.MIME] BODY.PEEK [1])'에 MIME 부분을 포함시켰다. 이제 파싱이 제대로되었습니다. 감사. – john