如何为Gmail配置Spring JavaMailSenderImpl [英] How to configure Spring JavaMailSenderImpl for Gmail

查看:108
本文介绍了如何为Gmail配置Spring JavaMailSenderImpl的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找到使用JavaMailSenderImpl类连接到Gmail SMTP服务器的正确属性。



让我先说我尝试过这种方法找到此处 。这工作得很好。但是当我使用完全相同的认证信息在该帖子下面尝试配置时,我收到了一个javax.mail.AuthenticationFailedException。



我目前的配置看起来像这样。

 < bean id =mailSenderclass =org.springframework.mail.javamail.JavaMailSenderImpl> 
< property name =usernamevalue =XXX@gmail.com/>
< property name =passwordvalue =XXX/>
< property name =javaMailProperties>
<道具>
< 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>
< /道具>
< / property>
< / bean>

如果我知道我的凭证是正确的,那么为什么仍然会收到此javax.mail.AuthenticationFailedException



更新



以下是根据以下答案更新的代码。

 < bean id =mailSenderclass =org.springframework.mail.javamail .JavaMailSenderImpl> 
< property name =usernamevalue =XXX@gmail.com/>
< property name =passwordvalue =XXX/>
< property name =javaMailProperties>
<道具>
< 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>
< /道具>
< / property>
< / bean>


解决方案

这对我有用:

 < property name =host>< value> smtp.gmail.com< / value>< / property> 
< property name =port>< value> 587< /值>< / property>
< property name =username>< value> $ {mail.username}< /值>< / property>
< property name =password>< value> $ {mail.password}< /值>< / property>
< property name =javaMailProperties>
<道具>
< prop key =mail.smtp.auth> true< / prop>
< prop key =mail.smtp.starttls.enable> true< / prop>
< prop key =mail.smtp.quitwait> false< / prop>
< /道具>
< / property>

对我来说真正的技巧原来是协议值必须是smtp (不是smtps)。

I am trying to find the correct properties to use to connect to the Gmail SMTP sever using the JavaMailSenderImpl class.

Let me first say that I have tried the approach found here. This worked fine. But when I tried the configuration below that post with the exact same authentication information I received a javax.mail.AuthenticationFailedException.

My currently configuration looks like this.

<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>

Why am I still getting this javax.mail.AuthenticationFailedException if I know that my credentials are correct.

Update

Here is my updated code based on the answers below. I am still receiving the same exception.

<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>

解决方案

This worked for me:

        <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>

The real trick for me turned out to be that the "protocol" value has to be "smtp" (not "smtps").

这篇关于如何为Gmail配置Spring JavaMailSenderImpl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆