티스토리 뷰
보내는사람,받는사람 한글 정상이면
제목, 내용한글 깨지고
제목, 내용 한글 정상이면
보내는 사람, 받는 사람 한글 깨지고
대략 난감이다.
해결은
<%@ page contentType="text/html; charset=EUC-KR" import="java.util.*,javax.mail.*,javax.mail.internet.*,java.io.*" %>
<%
//request.setCharacterEncoding("EUC-KR");
Properties msgProperties = new Properties();
msgProperties.put("mail.smtp.host", "localhost");
//msgProperties.put("mail.mime.charset", "euc-kr");
Session msgSession = Session.getDefaultInstance(msgProperties, null);
try {
Enumeration params = request.getParameterNames();
while (params.hasMoreElements()) {
String name = (String) params.nextElement();
String value = request.getParameter(name);
out.println("[" + name + " = " + value + "]<br>");
}
MimeMessage msg = new MimeMessage(msgSession);
// 보내는 사람
String mailfrom_name = request.getParameter("from_name");
String mailfrom = mailfrom_name + "<" + request.getParameter("from_mail") + ">";
InternetAddress from = new InternetAddress(mailfrom);
msg.setFrom(from);
// 받는 사람
String mailto_name = request.getParameter("to_name");
String mailto = mailto_name + "<" + request.getParameter("to_mail") + ">";
InternetAddress to = new InternetAddress(mailto);
msg.setRecipient(Message.RecipientType.TO, to);
// 날짜
msg.setSentDate(new java.util.Date());//보내는 날짜 설정
// 제목
String title = request.getParameter("title");
msg.setSubject(new String(title.getBytes("iso-8859-1"), "euc-kr"));
// 내용 설정
String content = request.getParameter("content");
String tmpFile = "/member/email.html";
BufferedReader br = new BufferedReader(new FileReader(new File( request.getSession().getServletContext().getRealPath(tmpFile))));
StringBuffer sb = new StringBuffer();
String ch = null;
while ((ch = br.readLine()) != null) { // 파일에서 한문자(2바이트)씩 읽음
if (ch.indexOf("##CONTENT##") > -1) {
sb.append(ch.replaceAll("##CONTENT##", content));
}
else if (ch.indexOf("##TITLE##") > -1) {
sb.append(ch.replaceAll("##TITLE##", title));
}
else {
sb.append(ch);
}
}
msg.setContent( new String(sb.toString().getBytes("8859_1"),"euc-kr"), "text/html;\n\tcharset=\"ks_c_5601-1987\"" );
msg.setHeader("Content-Transfer-Encoding", "base64");
Transport.send(msg);
%>
<script>
alert('메일이 정상적으로 발송되었습니다.');
history.back();
</script>
<%
} catch (MessagingException e) {
out.println(e.getMessage());
} catch (Exception e) {
out.println("error : " + e.getMessage());
%>
<script>
alert('메일 발송이 실패하였습니다!');
history.back();
</script>
<%
}
%>
빨간색 부분만 잘 보면 될듯..
메일솔루션마다 차이는 있을듯 한데
이건 나누미넷에 맞춰진것..
- Total
- Today
- Yesterday
- 자블라니
- tomcat
- 기아짤방
- 커플링
- JEUS
- 한글유니코드
- 이미지리사이즈
- 간식송
- CSS
- jQuery
- TinyMCE
- eclipse plugin
- imagemagick
- java 엑셀
- erwin Schema Generation 시 필드 순서
- svn
- 공인구
- 아디다시
- oracle
- ERwin
- 연도
- wii wi-fi 51330
- log4j
- MySQL
- 구글수표
- trac
- ie6과 ie7 같이 사용하기 multi ie
- 김치송
- Java
- Ant
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |