使用公共电子邮件库发送电子邮件失败

时间:2012-04-26 18:15:17

标签: java email

 try {
        Email email = new SimpleEmail();
        email.setHostName("smtp.googlemail.com");
        email.setSmtpPort(587);
        email.setAuthenticator(new DefaultAuthenticator("***@gmail.com", "*********"));
        email.setSSL(true);
        email.setFrom("*******@gmail.com");
        email.setSubject("TestMail");
        email.setMsg("This is a test mail ... :-)");
        email.addTo("*****@gmail.com");
        email.setTLS(true);
        email.send();
    } catch (Exception e) {
        e.printStackTrace();
    }

这是我使用的代码,这是打印堆栈跟踪

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.googlemail.com:587
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
    at org.apache.commons.mail.Email.send(Email.java:1267)
    at Main.main(Main.java:28)
Caused by: javax.mail.AuthenticationFailedException
    at javax.mail.Service.connect(Service.java:306)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)

有人可以告诉我我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

你试过port 465吗?

使用email.setSSLOnConnect(true);代替setSSL和setTLS?

相关问题