2

如果您使用 Spring JavaMailSenderImpl,您在哪里定义发送邮件的字符集?

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

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

4

1 回答 1

4

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

<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="bla" />
    <property name="用户名" value="用户" />
    <property name="password" value="pass" />
    <property name="javaMailProperties"><props>
        <prop key="mail.smtp.auth">真</prop>
        <prop key="mail.smtp.connectiontimeout">5000</prop>
        <prop key="mail.smtp.sendpartial">真</prop>
        <prop key="mail.smtp.userset">true</prop>
        <prop key="mail.mime.charset">ISO-8859-1</prop>
    </props></property>
</豆>
于 2009-02-13T18:56:43.810 回答