How do you change the encoding of an email generated with Apache Commons Email to UTF-8? I want to send emails I generate depending on the receiver's language, and I need to take in account Japanese and Russian. Problem is: the Email class doesn't propose a UTF-8 constant I can pass to the Email.setCharset
method. Any clue?
Asked
Active
Viewed 5,073 times
10

centic
- 15,565
- 9
- 68
- 125

Alexis Dufrenoy
- 11,784
- 12
- 82
- 124
2 Answers
11
There does appear to be a constant for UTF_8 in the Apache Commons Email API:
UTF_8
static final String UTF_8
See Also:
Constant Field Values
All Known Implementing Classes:
Email, HtmlEmail, ImageHtmlEmail, MultiPartEmail, SimpleEmail
Which is defined in http://commons.apache.org/email/apidocs/src-html/org/apache/commons/mail/EmailConstants.html#line.38 as:
String UTF_8 = "utf-8";
See http://commons.apache.org/email/apidocs/org/apache/commons/mail/EmailConstants.html

Rob Raisch
- 17,040
- 4
- 48
- 58
-
Have you tried to set the string value rather than referencing the constant? – Rob Raisch Jun 19 '11 at 16:08
2
If you work with the version 1.2, you can create your own constant, until the method accept a String and will throw an UnsupportedCharsetException if there's no support for the named charset in the JVM.
If it's possible, you can use instead the UTF_8 constant in the CharEncoding class in Apache commons lang.

J-Y
- 96
- 8