无法使用Java Mail Api发送邮件

时间:2013-08-01 07:07:30

标签: java javamail

我正在尝试使用google向用户发送邮件。我的代码在localhost上工作正常,我尝试在服务器上部署它,那里它导致了身份验证问题,但现在它不能在我的localhost上工作,这里是我得到的错误:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 sz6sm1026673pab.5 - gsmtp

我认为可能是我用来发送邮件的gmail帐户存在问题,我尝试了另一个帐户仍然是同样的问题。

任何人都可以知道是什么导致了这个问题,是我的IP地址被阻止了还是我尝试重复的事情。

以下是我的xml中的配置:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.gmail.com" />
        <property name="port" value="587" />
        <property name="username" value="dummy1@gmail.com" />
        <property name="password" value="abc1234" />
        <property name="javaMailProperties">
            <props>
                <!-- Use SMTP transport protocol -->
                <prop key="mail.transport.protocol">smtp</prop>
                <!-- Use SMTP-AUTH to authenticate to SMTP server -->
                <prop key="mail.smtp.auth">true</prop>
                <!-- Use TLS to encrypt communication with SMTP server -->
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.debug">true</prop>
            </props>
        </property>
    </bean>

3 个答案:

答案 0 :(得分:0)

身份验证错误可能会产生误导,因为它可能是配置错误。您是否可以发布用于尝试发送邮件的代码?

答案 1 :(得分:0)

我认为gmail拒绝你的登录。您是否尝试使用您在网络代码中使用的凭据登录gmail?也许您的部署中存在错误,无法将凭据正确地传递给gmail。如果你这样做几次,gmail会限制你的登录尝试,作为暴力攻击的安全预防措施。

检查您是否可以先在网上登录您的帐户。

答案 2 :(得分:0)

这也是我遇到的问题。解决方案是更改GMail设置,以允许不太安全的应用程序访问您的Gmail帐户。 Go here to change the settings,然后再次运行您的应用程序。