|
임펠리테리입니다.
메일메시지 포맷에서 보통 Content-Type: 헤더에서 MIME 타입을 지정해줍니다.
메일이 html 메일일 경우 이걸 text/html로 지정해주는 것은 어느정도는 맞습니다만.. 100퍼센트는 아닙니다.
그리고, 결론부터 말해서, TNMSMTP를 써서는 모든 형태의 메일을 다 처리할 수 없습니다.
최초에 이메일이 시작되었을 때는 메시지의 본문은 항상 text였습니다. 하지만 그 후로 시간이 지나면서
html 메일이라든지 첨부파일, 또 본문에 포함된 파일(이미지등)등을 처리하기 위해 현재의 메일 메시지는
상당히 복잡한 포맷이 되었죠.
이런 복잡한 형태를 지원하기 위해 새로운 'multipart/...'으로 시작되는 MIME 타입들이 추가되었습니다.
하나씩 간략하게 살펴보면...
HTML 메일을 보내기 위해, 쉽게 생각하면 content-type을 text/html로 세팅하면 될거 같지만...
그렇게만 하면 HTML 메일을 지원하지 못하는 메일클라이언트들은 메일 내용이 HTML 소스로 나오게 될 것이므로,
보통은 multipart/alternative로 세팅하고 그 안에 텍스트와 html 두가지 버전의 본문을 다 집어넣습니다.
또.. 여기다가 본문에 포함된 이미지나 자바스크립트, 혹은 스타일시트 파일을 함께 구겨넣기 위해서는 한단계
더 멀티파트로 감싸게 됩니다. 이때는 content-type이 multipart/related가 됩니다.
여기다 첨부파일까지 넣게 되면 multipart/mixed가 됩니다.
무슨 말인지 이해가 잘 안되시지요? 개념자체가 복잡해서 간단히 설명이 안되네요.
조금 더 쉽게 풀어서 말하면, 완전한 메일 메시지 포맷은 3단계로 감싸져 있으며, 각 단계마다 별도의
content-tpye을 가집니다.
실제 예를 보시려면, 이미지가 포함된 HTML 메일에 첨부파일까지 추가한 메일 메시지를 텍스트 에디터로
보시면 됩니다.
제가 알기로는.. 가장 단순 무식한 NM 컴퍼넌트는 물론, 현재 공개된 메일 컴퍼넌트들 중에서는 이 복잡한
포맷을 다 지원하는 넘은 없는 걸로 알고 있습니다. (제가 모르는게 있을지도.. -.-)
저도 메일 포맷을 분석하면서 몇주 동안 이걸 가지고 엄청 씨름을 하고는, 공개된 메일 컴퍼넌트인 SakeEmail 소스를
이런 포맷을 모두 지원하도록 다 뜯어고쳐서 사용하고 있습니다.
다시, 질문하신 내용으로 돌아가서..
빌더에 있는 NM 컴퍼넌트로는 불가능합니다. 제 컴퍼넌트를 올려드리면 좋겠지만, 원래 저작권이 있는
공개 컴퍼넌트를 수정한 거라서 공개할 수가 없구요.
그럼 참고하시길...
궁금이 님이 쓰신 글 :
: 안녕하십니까..?
: 수고가 많으십니다..
:
: 다름이 아니라 TNMSMTP을 이용하여 메일 프로그램을 만들었는데요.. 좀 문제가 생겨서요..
: 다음과 같은 문제 입니다..
:
: html형식으로 내용이 전송되지않아 TNMSMTP의 OnSendStart이벤트에
: Content-Type: text/html을 강제로 때려넣어 성공을 하였는데..
: 이리되면 파일을 첨부하였을 경우 파일이 첨부가 되질않고 내용이 풀어져서 전송 됩니다..
: 물론 위와 같은 변경을 해 주질 않으면 첨부 파일이 아주 잘 첨부 되어 전송되는데
: 이때에는 본문내용이 html형식으로 전송되지 않습니다..
:
: 이 두가지를 동시에 제대로 전송할 수 있는 방법이 없을지요..?
: 조언 부탁드리고요..(지가 시간이 별로 없어서리..)
: 좋은 하루 되세요..
:
|