비 ASCII 이름을 가진 사용자에게 메일을 보내야하는 Java 코드를 작성 중입니다. 본문, 제목 줄 및 일반 머리글에 UTF-8을 사용하는 방법을 알아 냈지만 받는 사람에 여전히 붙어 있습니다.javax.mail.internet.MimeMessage를 비 ASCII 이름의 수신자에게 보냅니 까?
"받는 사람 :"입력란에 다음과 같이 입력하십시오 : "ウィキペディアにようこそ" <[email protected]>
. 이것은 recip
이라는 문자열로 오늘 (우리의 목적으로) 살아 간다.
msg.addRecipients(MimeMessage.RecipientType.TO, recip)
는"忙俾ェ▎S]" <[email protected]>
msg.addHeader("To", MimeUtility.encodeText(recip, "utf-8", "B"))
은 도대체가 나는이 메시지를 보낼 수 있다고 생각 할수 있습니까AddressException: Local address contains control or whitespace in string ``=?utf-8?B?IuOCpuOCo+OCreODmuODh+OCo+OCouOBq+OCiOOBhuOBk+OBnSIgPA==?= =?utf-8?B?Zm9vQGV4YW1wbGUuY29tPg==?=''
을 던져 준다?
- 바디 HTML :
msg.setText(body, "UTF-8", "html");
- 헤더 : 여기
내가 다른 구성 요소를 처리하는 방법
msg.addHeader(name, MimeUtility.encodeText(value, "utf-8", "B"));
- 제목 :
msg.setSubject(subject, "utf-8");
관련 질문 및 솔루션 : http://stackoverflow.com/a/5650455/923560 – Abdull