2011-06-18 8 views
9

¿Cómo se cambia la codificación de un correo electrónico generado con Apache Commons Email a UTF-8? Quiero enviar correos electrónicos que genero dependiendo del idioma del receptor, y debo tener en cuenta el japonés y el ruso. El problema es que la clase Email no propone una constante UTF-8 que pueda pasar al método Email.setCharset. ¿Cualquier pista?Apache Commons Correo electrónico y UTF-8

Respuesta

9

No parece ser una constante para UTF_8 en el Apache Commons API del correo electrónico:

UTF_8 

static final String UTF_8 
See Also: 
    Constant Field Values 

All Known Implementing Classes: 
    Email, HtmlEmail, ImageHtmlEmail, MultiPartEmail, SimpleEmail 

que se define en http://commons.apache.org/email/apidocs/src-html/org/apache/commons/mail/EmailConstants.html#line.38 como:

String UTF_8 = "utf-8"; 

Ver http://commons.apache.org/email/apidocs/org/apache/commons/mail/EmailConstants.html

+0

Si lo hago bien, esa es la versión 1.3-SNAPSOT. –

+0

¿Ha intentado establecer el valor de la cadena en lugar de hacer referencia a la constante? –

+0

Funcionó con 1.3-SNAPSHOT. Espero que lo liberen algún día ... –

2

Si trabaja con la versión 1.2, puede crear su propia constante, hasta que el método acepte una Cadena y arroje una excepción de host no compatible si no hay soporte para el juego de caracteres nombrado en la JVM.

Si es posible, puede usar la constante UTF_8 en la clase CharEncoding en Apache commons lang.

Cuestiones relacionadas