outlook에서 html 을 볼수 있게 하려면 메일 송신을 어떻게 해야 하나요??

trymp의 이미지


메일 전송을 하는 프로세스를 짜서 특정 조건에서 SMTP 소켓 통신으로 메일을 쏘는데요.

html tag를 내용으로 해서 메일 발송을 할 일이 생겼는데,

그대로 보냈더니 outlook에서 text 형식으로 그대로 html tag 가 보입니다.

저는 웹처럼 나타내기 위해서 작업 할 건데요.

그래서 메일전송시에 outlook 에서 html 을 제대로 인식하도록 하기 위해서는

메일 전송시에 다른 처리가 필요한 것인지 궁금합니다.

무슨 html tag를 따로 추가해야 하는 것인지.. 아니면 encoding 을 다르게 해야 하는 것인지??

고수님들의 조언 부탁드립니다.

dgkim의 이미지

메일 발송을 socket 통신으로 직접 구현하시는 것 보다는,
이미 만들어져 제공되는 라이브러리를 활용하시는 것이 편할 것으로 생각됩니다.
( 인코딩이라던지 첨부 파일 처리같은 것도 간편하게 할 수 있겠지요. )

java도 기본으로 아래 라이브러리를 제공하지요.

http://mvnrepository.com/artifact/javax.mail/mail

PHP라면 아래 URL을 참조할 수 있겠습니다.

http://pear.php.net/manual/en/package.mail.mail-mime.example.php

dgkim의 이미지

소캣으로 하신다면, 메일내용의 텍스트 표현은 아래와 같습니다.

Message-ID: <50862D70.1090604@dgkim.net>
Date: Tue, 23 Oct 2012 14:38:56 +0900
From: =?UTF-8?B?6rmAIOuNleqzpA==?= <dgkim@dgkim.net>
MIME-Version: 1.0
Subject: =?UTF-8?B?7ZWc6riA?=
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
 
[geshifilter-html]&#10;  &lt;head&gt;&#10;&#10;    &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;&#10;  &lt;/head&gt;&#10;  &lt;body text=&quot;#000000&quot; bgcolor=&quot;#FFFFFF&quot;&gt;&#10;    &lt;b&gt;HTML&lt;/b&gt; 메일&lt;br&gt;&#10;    &lt;br&gt;&#10;  &lt;/body&gt;&#10;[/geshifilter-html]

위 내용은 thunderbird에서 임시 저장한 소스 내용을 일부 보여준 것입니다.

메일 본문의 형태를 Content-Type으로 지정합니다.
그리고, From이나 Subject등도 메일 프로그램이 처리할 수 있게 인코딩하는 것이 보통입니다.