본문 바로가기

Dev/Orvercome 3sec memory

JAVA로 SMTP 메일 보내기 - "제목" 항목 한글 깨짐

728x90
#. 송신된 메일 제목 부분 한글 깨졌던 소스

......
Authenticator auth = new PopupAuthenticator(getSmtpAccount(),getSmtpPasscode());
Properties props = new Properties();
props.put("mail.smtp.host", getSmtpHost());
props.put("mail.smtp.port", getSmtpPort());
props.put("mail.smtp.auth","true");
Session session = Session.getInstance(props,auth);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(getRegister()));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(getSmtpAccount(),false));
message.setSubject(getSubject());
message.setContent(getHtml(getContent().toString()), "text/html; charset=utf-8");
message.setSentDate(new Date());
Transport tr = session.getTransport("smtp");
tr.connect(getSmtpHost(),getSmtpAccount(), getSmtpPasscode());
message.saveChanges();      // don't forget this
tr.sendMessage(message, message.getAllRecipients());
tr.close();
.....


#. 송신된 메일 제목 부분 한글 깨짐 해결
....

Authenticator auth = new PopupAuthenticator(getSmtpAccount(),getSmtpPasscode());
Properties props = new Properties();
props.put("mail.smtp.host", getSmtpHost());
props.put("mail.smtp.port", getSmtpPort());
props.put("mail.smtp.auth","true");


Session session = Session.getInstance(props,auth);

MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(getRegister()));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(getSmtpAccount(),false));
message.setSubject(getSubject(), "utf-8");
message.setContent(getHtml(getContent().toString()), "text/html; charset=utf-8");
message.setSentDate(new Date());

Transport tr = session.getTransport("smtp");
tr.connect(getSmtpHost(),getSmtpAccount(), getSmtpPasscode());
message.saveChanges();      // don't forget this
tr.sendMessage(message, message.getAllRecipients());
tr.close();

...