我正在使用Apache Commons郵件向我的客戶發送電子郵件,但我有一個名爲'Semana daComputação'的客戶(在portugues BR),但它會'Semana daComputação'。 我嘗試修改我的代碼,但它沒有工作:如何更改Apache Commons Email中的charset?
public static boolean emailWithImage(String subject, String message, String emailReceiver, String imageURL) {
HtmlEmail email = new HtmlEmail();
email.setCharset("UTF-8"); // I change here, but it is not working
email.setHostName(Constantes.EMAIL_HOST_NAME);
email.setSmtpPort(587);
DefaultAuthenticator authenticator =
new DefaultAuthenticator(Constantes.EMAIL_USER, Constantes.EMAIL_PASSWORD);
email.setAuthenticator(authenticator);
email.setTLS(true);
try {
email.setFrom(Constantes.EMAIL_USER, Constantes.EMAIL_NAME);
email.setSubject(subject);
email.addTo(emailReceiver);
URL url = new URL(imageURL);
String cid = email.embed(url, "image"); /* it must be 'cid' the name of the image */
email.setHtmlMsg("<html><img src=\"cid:" + cid + "\"> <p>" + message + "</p> </html>"); /* set the html message */
email.setTextMsg(message); /* send a alternative text in case when the email reader don't support html */
email.send();
} catch (EmailException ex) {
return false;
} catch (MalformedURLException ex) {
return false;
}
return true;
}
任何想法?爲什麼名稱沒有正確通過,我該如何解決?
我驗證了addPart解決方案適用於我的使用。 – 2012-07-16 23:47:19