Как настроить Spring JavaMailSenderImpl для Gmail - PullRequest
38 голосов
/ 07 января 2010

Я пытаюсь найти правильные свойства для подключения к серверу SMTP Gmail с помощью класса JavaMailSenderImpl.

Позвольте мне сначала сказать, что я попробовал найденный подход здесь . Это работало нормально. Но когда я попробовал приведенную ниже конфигурацию с той же информацией аутентификации, я получил исключение javax.mail.AuthenticationFailedException.

Моя текущая конфигурация выглядит следующим образом.

<bean id="mailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl" >
    <property name="username" value="XXX@gmail.com" />
    <property name="password" value="XXX" />
    <property name="javaMailProperties">
    <props>
        <prop key="mail.smtp.host">smtp.gmail.com</prop>
        <prop key="mail.smtp.port">587</prop>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
    </property>
</bean>

Почему я все еще получаю это исключение javax.mail.AuthenticationFailedException, если я знаю, что мои учетные данные верны.

Обновление

Вот мой обновленный код, основанный на ответах ниже. Я все еще получаю то же исключение.

<bean id="mailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl" >
    <property name="username" value="XXX@gmail.com" />
    <property name="password" value="XXX" />
    <property name="javaMailProperties">
    <props>
        <prop key="mail.smtp.from">XXX@gmail.com</prop>
        <prop key="mail.smtp.user">XXX@gmail.com</prop>
        <prop key="mail.smtp.password">XXX</prop>
        <prop key="mail.smtp.host">smtp.gmail.com</prop>
        <prop key="mail.smtp.port">587</prop>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
    </property>
</bean>

Ответы [ 12 ]

0 голосов
/ 07 января 2010

Вы должны указать свой адрес отправителя, либо <prop key="mail.smtp.from">XXX@gmail.com</prop>, либо при создании сообщения.

0 голосов
/ 07 января 2010

Это не выглядит существенно иначе, но, возможно, попробуйте:

<bean id="mailSender" class ="org.springframework.mail.javamail.JavaMailSenderImpl" >
    <property name="username" value="XXX@gmail.com" />
    <property name="password" value="XXX" />
    <property name="javaMailProperties">
    <props>
        <prop key="mail.smtp.user" value="XXX@gmail.com" />
        <prop key="mail.smtp.password" value="XXX" />
        <prop key="mail.smtp.host">smtp.gmail.com</prop>
        <prop key="mail.smtp.port">587</prop>
        <prop key="mail.smtp.auth">true</prop>
        <prop key="mail.smtp.starttls.enable">true</prop>
    </props>
    </property>
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...