답변
주제 헤더입니다 .. UTF-8로 인코딩을 설정합니다. 헤더는 ascii-7 만 사용하므로 ascii-7 문자를 올바르게 인코딩 할 수 없으므로 적절한 인코딩을 사용해야합니다.
사용중인 클래스에서 UTF-8로 인코딩을 시도해 볼 수있는 경우.
mimeMessage.setSubject(yourSubject, "UTF-8");
당신이 손으로 헤더를 작성하는 경우이 중 하나를 사용하십시오
의MimeUtility.encodeWord(yourSubject, "UTF-8", "B"); // base-64
MimeUtility.encodeWord(yourSubject, "UTF-8", "Q"); // quoted-printable
어느 정도의 MimeMessage는 (캐릭터, 인코딩) setSubject에서 무엇 :
setHeader("Subject", MimeUtility.fold(9, MimeUtility.encodeText(subject, charset, null)));
// fold splits the value in several lines with no more than 72 chars
샘플
나는 이것을 시도했다 :
public static void main(String[] args) throws Exception {
// manual encoding
System.out.println(MimeUtility.encodeText("How to include £ pound symbol", "UTF-8", "Q"));
System.out.println(MimeUtility.encodeText("How to include £ pound symbol", "UTF-8", "B"));
// MimeMessage encoding
MimeMessage m = new MimeMessage((Session) null);
m.setSubject("How to include £ pound symbol", "UTF-8");
m.setContent("lalala", "text/plain");
m.writeTo(System.out);
}
출력했다 :
어쨌든=?UTF-8?Q?How_to_include_=C2=A3_pound_symbol?=
=?UTF-8?B?SG93IHRvIGluY2x1ZGUgwqMgcG91bmQgc3ltYm9s?=
(...)
Message-ID: <[email protected]>
Subject: =?UTF-8?Q?How_to_include_=C2=A3_pound_symbol?=
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
lalala
는 항상 사용할 수 있습니다
String yourEncodedString = MimeUtility.encodeText(str, "UTF-8", "Q");
mimeMessage.setHeader("Subject", yourEncodedString);
는
msg.setContent(message,"text/html; charset=UTF-8");
그 MIME 부분 (메인 콘텐츠)의 본문에 대한 인코딩을 나타내지 만 헤더 인코딩 (주제가있는 곳)과 관련이 없습니다. 나는 메시지의 구현이이 인코딩을 헤더를 올바르게 인코딩하는 데 사용하는지 확신하지 못한다. (특별히 이상한 인코딩이 필요한 경우 특별히) – helios
이것은 제목에 영향을 미칠 것인가? –
아, 너무 느립니다. 이미 –
- 1. Java 메일을 사용하여 html 전자 메일을 보내는 동안 여러 이미지를 포함하는 방법
- 2. 전자 우편 전송 자동화
- 3. HTML 전자 메일을 보내는 방법
- 4. 전자 메일을 httpcontext.User.Identity.name으로 사용하는 방법
- 5. Android : 전자 메일을 폴링하는 방법?
- 6. 스레드를 기준으로 전자 메일을 그룹화하는 Java 라이브러리?
- 7. 전자 메일을 응용 프로그램에 저장하는 디자인 방법
- 8. 원본 전자 메일에서 회신 된 전자 메일을 추출하는 방법
- 9. 전자 메일을 보낼 일괄 스크립트
- 10. 전자 메일을 HTML 형식으로
- 11. 문제 전자 메일을 보내려면
- 12. 전자 메일을 삭제하는 매크로
- 13. 파이썬 appengine 비 AscII 문자를 포함하는 방법 html 메일을 보내십시오
- 14. Java 우편 주소 파서
- 15. Python - utf-8 전자 메일을 보내는 방법?
- 16. C++을 사용하여 전자 메일을 보내는 방법
- 17. HTML 형식의 전자 메일을 작성하는 방법
- 18. Windows의 명령 줄에서 전자 메일을 보내는 방법
- 19. vb.net 2005에서 전자 메일을 읽는 방법
- 20. MFMailComposeViewcontroller를 사용하지 않고 전자 메일을 보내는 방법
- 21. URL에서 레일스 전자 메일을 보는 방법
- 22. 웹 응용 프로그램에서 전자 메일을 보내는 방법
- 23. 응용 프로그램에서 SMS/전자 메일을 보내는 방법
- 24. 전체 헤더에서 전자 메일을 추출하는 방법
- 25. 레일 스타일의 HTML 전자 메일을 보내는 방법
- 26. 리눅스 전자 메일 서버, 새로운 전자 메일을 알 수있는 방법
- 27. 형식 문자열 전자 메일을 전자 메일로 연결
- 28. 배 전자 메일을 사용하여 디지털 서명 된 전자 메일을 보내는 방법
- 29. 전자 메일을 생성하는 데 사용해야하는 Java 템플릿 시스템은 무엇입니까?
- 30. QMail SMTP 전자 메일을 차단합니다.
이 UTF-8로 메시지 문자 집합을 설정 . –
@ 신사 : 그것은 콘텐츠 인코딩이 아닌 * 헤더 * 인코딩의 문제입니다. – helios