代码之家  ›  专栏  ›  技术社区  ›  Dr. Hans-Peter Störr

Spring JavamailsenderImpl:在哪里设置字符集?

  •  1
  • Dr. Hans-Peter Störr  · 技术社区  · 15 年前

    如果您使用的是SpringJavaMailsenderImpl,那么您在哪里定义邮件发送时使用的字符集?

    我们将SpringJavaMailsenderImpl用于从WebSphereApplicationServer6.1获得的邮件会话。奇怪的是,在使用相同代码的不同系统中,发送电子邮件所用的字符集是不同的。我正在寻找一种方法来覆盖默认值。

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

    1 回复  |  直到 13 年前
        1
  •  3
  •   Chochos    15 年前

    javamailsenderimpl有一个名为javamailproperties的属性,它是一个属性对象;您可以通过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>