我的j2ee app工作是在eclipse elios中开发的,tomcat 7作为应用服务器。 我的工作站有Windows 7。 在一个jsp我有一个输入文本,用于向几个用户发送邮件。 在Windows中,像è这样的角色工作正常,我收到邮件,我看到è; 当我在linux centOS上对tomcat部署战争时,我看不到è,而是一个奇怪的角色。 这是发送电子邮件的功能:
public boolean inviaMail() throws Exception{
boolean invio=true;
try {
Properties props = System.getProperties();
// Setup mail server
props.put("mail.smtp.host", HOST);
// Get session
Session session = Session.getDefaultInstance(props, null);
// Define message
MimeMessage message = new MimeMessage(session);
message.setHeader("Content-Type", "text/html; charset=UTF-8");
message.setFrom(new InternetAddress(MITTENTE));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(userTo));
message.setSubject(OGGETTO, "UTF-8");
message.setText(testoMsg, "UTF-8");
Transport.send(message);
} catch (Exception e) {
invio=false;
System.out.println("errore.invio.mail:" + e.getMessage());
}
return invio;
}
我认为问题是linux上的tomcat配置,你有什么提示吗?
答案 0 :(得分:1)
我在表单中添加了accept-charset =“UTF-8”,在类中添加了system.out.println。这就是我在catalina.out中看到的: 请注意,ÃÂÃÂÂù¹形式的输入,而文字“non rispondere a questa mailche�statagenerata in automatico”。是静态的并写在源中。
Avviso per gli utenti della sede:Fagnoni 重点:questesconosciuteÃÃÃÂÃÃÂÃÃÂÃÃÃÂÃÃÂÃÃÂÃÂÃÂÃÂù
non rispondere一个questa邮件che�statagenerata in automatico。 Per qualsiasi chiarimento contatta il referente dell'ordine oppure il tuo referente di sede
答案 1 :(得分:0)
解决此类错误的第一步是确保输入正确。表格的编码是什么?有关详细信息,请参阅此问题:Setting the character encoding in form submit for Internet Explorer
如果表单正确发送数据,则会在途中受到损坏。在代码中设置断点并查看变量。他们看起来是否正确?如果没有,那么你需要检查填充它们的代码。如果它们是正确的,那么您需要查看邮件消息的转储。