현재 이메일 제목에 특수 기호가 표시 될 수 있도록 결함 작업을하고 있습니다. 전자 메일은 text/html mime 형식입니다.이메일 제목에 특수 기호가 있음
현재 하트 마크가있는 사람은 "& 하트"로 표시되지만 이메일 본문에는 "하트"기호가 표시됩니다.
누군가 특수 기호를 주제의 일부로 포함하는 솔루션을 제공하는 데 도움을 줄 수 있습니까?
다음은 코드 단편입니다.
public boolean send(String to, String from, String subject, String templatePath, Map map) {
// create a mime message using the mail sender implementation
MimeMessage mimeMessage = mailSender.createMimeMessage();
// create the message using the specified template
MimeMessageHelper helper;
try
{
helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
helper.setTo(to);
helper.setSubject(subject);
helper.setFrom(from);
String text = VelocityEngineUtils.mergeTemplateIntoString(engine, templatePath, map);
helper.setText(text, true);
send(mimeMessage);
log.debug("in send at start" + this.getClass().getName()
+ ":SUCCESS: Sendig mail to" + to + " from " + from + " subject "
+ subject);
} catch (MessagingException e)
{
throw new MailPreparationException("unable to create the mime message helper", e);
} catch (Exception e)
{
log.debug("in send at start" + this.getClass().getName() + ":Failed sending mail"
+ to + " from " + from + " subject " + subject);
// throw new
// MailPreparationException("unable to create the mime message helper",
// e);
}
return false;
} 공공 부울 전송 (MimeMessage를 MimeMessage의)는 유니 코드/UTF-8로 보낼 수 있습니다 예외 {
try
{
Multipart multipart = new MimeMultipart();
BodyPart bodyPart = new MimeBodyPart();
multipart.addBodyPart(bodyPart);
bodyPart.setContent(mimeMessage.getContent(), "text/html");
mimeMessage.setContent(multipart);
mailSender.send(mimeMessage);
} catch (Exception e)
{
log.error("in send at start" + this.getClass().getName() + ":Failed sending mail"
+ e.getMessage());
// e.printStackTrace();
throw e;
// return false;
}
return true;
}
여러분이 묻는 질문에 대한 답변을 수락하십시오. 사람들이 여러분을 도우 려하며, StackOverflow를 더 좋은 곳으로 만들어줍니다. –