2009-02-12 45 views
1

如果您使用的是Spring JavaMailSenderImpl,那么您在哪里定义了邮件发送的字符集?Spring JavaMailSenderImpl:在哪里设置字符集?

我们使用Spring JavaMailSenderImpl和从Websphere Application Server 6.1获得的邮件会话。奇怪的是,用于发送电子邮件的字符集在使用相同代码的不同系统上是不同的。我正在寻找一种方法来覆盖默认值。

更新:我们不允许更改系统属性。所以我正在寻找一种方法来指定在代码或部署描述符中使用的字符集,webshpere meail会话设置或其他。

回答

3

JavaMailSenderImpl有一个名为javaMailProperties的属性,它是一个Properties对象;您可以在那里传递一个带有mail.mime.charset的Properties对象,因此它仅用于您的JavaMailSenderImpl,而不是系统宽属性:

 
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="bla" /> 
    <property name="username" value="user" /> 
    <property name="password" value="pass" /> 
    <property name="javaMailProperties"><props> 
     <prop key="mail.smtp.auth">true</prop> 
     <prop key="mail.smtp.connectiontimeout">5000</prop> 
     <prop key="mail.smtp.sendpartial">true</prop> 
     <prop key="mail.smtp.userset">true</prop> 
     <prop key="mail.mime.charset">ISO-8859-1</prop> 
    </props></property> 
</bean>