Google 애플리케이션은 웹 양식에서 텍스트를 가져 와서 이메일을 통해 적절한 사용자에게 보냅니다. 그러나 악명 높은 "똑똑한 따옴표"또는 Word의 다른 특수 문자를 누군가가 복사/붙여 넣으면 물건이 털이됩니다.Outlook에서 MimeMessage의 스마트 인용 부호가 올바르게 표시되지 않습니다.
그러나 메시지가 Outlook 2003에서 나타날 때, 그것은 다음과 같이 나온다 :에서
사용자 유형 그는 "안녕하세요"라고 좋은 저-밤은?
그가 인사가 좋은를 meisnt라고? 이것에 대한
코드이었다
Session session = Session.getInstance(props, new MailAuthenticator());
Message msg = new MimeMessage(session);
//removed setting to/from addresses to simplify
msg.setSubject(subject);
msg.setText(text);
msg.setHeader("X-Mailer", MailSender.class.getName());
msg.setSentDate(new Date());
Transport.send(msg);
이 조금 연구 후에, 나는이 아마 문자 인코딩 문제라고 생각 했어요 및 UTF-8로 물건을 이동하려고했습니다. 좋은 것을 MEA-isnÂ't에
그는 "helloÂ"말했다 :
Session session = Session.getInstance(props, new MailAuthenticator()); MimeMessage msg = new MimeMessage(session); //removed setting to/from addresses to simplify msg.setHeader("X-Mailer", MailSender.class.getName()); msg.addHeader("Content-Type", "text/plain"); msg.addHeader("charset", "UTF-8"); msg.setSentDate(new Date()); Transport.send(msg);
이 가까이 저를 가지고 있지만 시가 : 그래서, 내가 thusly 히 코드를 업데이트?
나는 이것이 드문 문제라고 상상할 수 없다. 무엇을 놓쳤는가?
charset은 별도의 머리글이 아닌 Content-Type 옵션입니다. 그렇지 않으면 좋아 보인다. – Piskvor