2015-07-12 135 views
0

我使用基于Java的CMS dotCMS,我想使用谷歌作为smtp服务器。我使用了dotCMS文档中描述的配置:http://dotcms.com/docs/latest/mail-configurationSTARTTLS问题当使用谷歌作为smtp服务器时,使用javamail

我的配置是这样的:

<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上运行(wheezy)

回答

2

你不应该需要socketFactory setting

您也不应该需要端口设置。

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

Gmail entry in the JavaMail FAQ可能是有用的。

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

+0

嘿比尔。谢谢你的提示。我会测试一下。 – koenpeters

1

你有在谷歌设置2因素认证?我认为这可能会阻止身份验证的发生。

相关问题