2009-02-12 88 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>