在使用java邮件发送邮件的Web应用程序中遇到像è,à,ì这样的角色的问题

时间:2014-12-18 14:50:06

标签: java linux tomcat

我的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配置,你有什么提示吗?

2 个答案:

答案 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

如果表单正确发送数据,则会在途中受到损坏。在代码中设置断点并查看变量。他们看起来是否正确?如果没有,那么你需要检查填充它们的代码。如果它们是正确的,那么您需要查看邮件消息的转储。