Sending email in Java using Apache Commons email libs

前端 未结 3 1499
小鲜肉
小鲜肉 2021-01-30 18:48

I am using Apache Commons Email library to send emails, but I am not able to send them via GMail SMTP server.
Can anyone provide sample code which works with GMail SMTP serv

相关标签:
3条回答
  • 2021-01-30 19:25

    Sending emails to the GMail SMTP server requires authentication and SSL. The username and password is pretty straight forward. Make sure you have the following properties set to enable authentication and SSL and it should work.

    mail.smtp.auth=true
    mail.smtp.starttls.enable=true
    

    To the sample code add the following to enabled TLS.

    For API-Versions < 1.3 use:
    email.setTSL(true);
    the method is deprecated for versions >= 1.3, and instead you should use: email.setStartTLSEnabled(true);

    0 讨论(0)
  • using commons.email worked for me.

    HtmlEmail email = new HtmlEmail();
    email.setHostName("smtp.gmail.com");
    email.setSmtpPort(465);
    email.setSSL(true);
    
    0 讨论(0)
  • 2021-01-30 19:41

    Please find below a code which works. Obviously, you have to add the apache jar to your project's build path.

    public static void sendSimpleMail() throws Exception {
        Email email = new SimpleEmail();
        email.setSmtpPort(587);
        email.setAuthenticator(new DefaultAuthenticator("your gmail username",
                "your gmail password"));
        email.setDebug(false);
        email.setHostName("smtp.gmail.com");
        email.setFrom("me@gmail.com");
        email.setSubject("Hi");
        email.setMsg("This is a test mail ... :-)");
        email.addTo("you@gmail.com");
        email.setTLS(true);
        email.send();
        System.out.println("Mail sent!");
    }
    

    Regards, Sergiu

    0 讨论(0)
提交回复
热议问题