繁体   English   中英

使用javamail时将google用作smtp服务器时出现STARTTLS问题

[英]STARTTLS issue when using google as the smtp server when using javamail

我使用基于Java的CMS dotCMS,但我想将Google用作smtp服务器。 我使用了dotCMS文档中所述的配置: http ://dotcms.com/docs/latest/mail-configuration。

我的配置如下所示:

    <Resource
            name="mail/MailSession"
            auth="Container"
            type="javax.mail.Session"
            mail.debug="true"
            mail.transport.protocol="smtp"
            mail.smtp.host="smtp.gmail.com"
            mail.smtp.auth="true"
            mail.smtp.port="465"
            mail.smtp.starttls.enable="true"
            mail.smtp.user="[my username]"
            mail.password="[my pwd]"
            username="[my username]"
            password="[my pwd]"
            mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
     />

当我调用$mailer.sendEmail方法时,我收到一条错误消息:

“无法发送消息:530 5.7.0必须首先发出STARTTLS命令。c7sm25357283wjb.19-gsmtp”。

我也尝试了587端口,但这也没有帮助。

知道我在做什么错吗? 我正在使用dotcms 2.5.6。 在Debian 7.8上运行(真相)

您不需要socketFactory设置

您也不需要端口设置。

尝试设置mail.smtp.ssl.enable = true。 如果这不起作用,请尝试设置mail.transport.protocol = smtps并将所有mail.smtp。*设置更改为mail.smtps。*。

JavaMail常见问题解答中Gmail条目可能会很有用。

如果这些都不起作用,请发布JavaMail调试输出。

您在Google中设置了2因素身份验证吗? 我认为这可能会阻止身份验证的发生。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM