我正在使用Spring和JavaMailSenderImpl,一个着名的Spring类来发送电子邮件.我的电子邮件包含很多像èéàò这样的unicode字符,或者最引人注目的是可怕的符号.在Windows上运行时,我的类工作正常.发送的电子邮件包含所有字符(纯文本,无HTML).如果我在Linux虚拟服务器上安装我的应用程序,我会得到所有?而不是特殊的字符.是Spring,Java配置还是其他什么?
更新
基本上,架构是这样的:有一个Spring Web应用程序,我使用spring JavaMailSenderImpl来完成工作.这是servlet-context中的配置:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${email.server}" />
<property name="username" value="${email.server_user}"></property>
<property name="password" value="${email.server_pass}"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)
我在Windows和Linux上使用相同的主机发送邮件(这与运行应用程序的机器不同......它只是一个基于SMTP的标准邮件服务提供商).
我用来发送电子邮件的代码很简单:
SimpleMailMessage msg = new SimpleMailMessage();
msg.setTo(adminEmail);
msg.setFrom(adminEmail);
msg.setSubject(subject);
msg.setText(message);
mailSender.send(msg);
Run Code Online (Sandbox Code Playgroud)
甚至设置:
System.setProperty("mail.mime.charset", "utf8");
Run Code Online (Sandbox Code Playgroud)
在应用程序启动时并没有解决问题.事实上,在我到来之前?而不是€,现在我得到 ...