Spring JavaMailSenderImpl: где установить кодировку? - PullRequest
1 голос
/ 12 февраля 2009

Где вы определяете кодировку, с которой отправляется письмо, если вы используете Spring JavaMailSenderImpl?

Мы используем Spring JavaMailSenderImpl с почтовым сеансом, который мы получаем от Websphere Application Server 6.1. Как ни странно, кодировки, используемые при отправке электронных писем, отличаются в разных системах, использующих один и тот же код. Я ищу способ переопределить значение по умолчанию.

ОБНОВЛЕНИЕ: изменение системных свойств для нас запрещено. Поэтому я ищу способ указать используемую кодировку в коде или в дескрипторах развертывания, в настройках сеанса веб-интерфейса и т.

1 Ответ

3 голосов
/ 13 февраля 2009

JavaMailSenderImpl имеет свойство javaMailProperties, которое является объектом Properties; вы можете передать туда объект Properties с набором mail.mime.charset, так что это только для вашего 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>
...