Я пытаюсь найти, что корректные свойства используют для соединения с Gmail, SMTP разъединяет использование класса JavaMailSenderImpl.
Позвольте мне сначала сказать, что я попробовал подход, найденный здесь. Это хорошо работало. Но когда я попробовал конфигурацию ниже того сообщения с той же самой информацией аутентификации, я получил javax.mail. AuthenticationFailedException.
Мой в настоящее время конфигурация похож на это.
smtp.gmail.com
587
true
true
Почему я все еще получаю этот javax.mail. AuthenticationFailedException, если я знаю, что мои учетные данные корректны.
Вот мой обновленный код на основе ответов ниже. Я все еще получаю то же исключение.
XXX@gmail.com
XXX@gmail.com
XXX
smtp.gmail.com
587
true
true
Кажется, что это не сильно отличается, но, возможно, попробуйте:
<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>
Вы должны указать ваш адрес "from", либо как
, либо при создании сообщения.
Единственное свойство, необходимое для GMail:
<prop key="mail.smtp.starttls.enable">true</prop>
Это сработало для меня:
<property name="host"><value>smtp.gmail.com</value></property>
<property name="port"><value>587</value></property>
<property name="protocol"><value>smtp</value></property>
<property name="username"><value>${mail.username}</value></property>
<property name="password"><value>${mail.password}</value></property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.quitwait">false</prop>
</props>
</property>
Настоящая хитрость для меня оказалась в том, что значение "протокола" должно быть "smtp" (а не "smtps").