发送邮件失败 javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command fi

问题:

公司有十多个域名,然后有十多个域名邮箱,共用一个邮件服务器,最近把所有邮件通过gmail来转发。与此同时公司所有用原因域名自动发邮件的功能全部失效。首选想到的是 host 也就是smtp 协议需要修改,我把它修改为 smtp.gmail.com 后仍然发送失败,报如下错误:

javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. u12sm73042tia.38

解决:

       从错误类型来看,应该是少设置了参数。从网上查找资料分析,原因是因为 :

       发送邮件默认是25端口,但是gmail邮件服务商用的不是25端口,而是465或587端口

        所以  Properties加上如下设置就可以发邮件了:

        prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        prop.setProperty("mail.smtp.socketFactory.fallback", "false");
        prop.setProperty("mail.smtp.port", "465");
        prop.setProperty("mail.smtp.socketFactory.port", "465");

你可能感兴趣的:(exception)