I am trying to send an email to a Gmail account using the JavaMail API. I made the following code. I want to send mail to multiple recipients. But that does not work. This gives an exception like "failed to connect to SMTP host.sending failed"
package com.cts.email; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendEmail { Properties emailProperties; Session mailSession; MimeMessage emailMessage; public static void main(String args[]) throws MessagingException, javax.mail.MessagingException { SendEmail javaEmail = new SendEmail(); Session session=javaEmail.setMailServerProperties(); javaEmail.createEmailMessage(session); // javaEmail.sendEmail(); } public Session setMailServerProperties() { Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "465"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("my_email","my_password"); } }); return session; } public void createEmailMessage(Session session) throws MessagingException, javax.mail.MessagingException { String[] toEmails = { " mahesh.ece9@gmail.com "," sandeepreddy792@gmail.com " }; try { for (String to_mail : toEmails) { Message message = new MimeMessage(session); message.setFrom(new InternetAddress(" mahesh.ece9@gmail.com ")); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to_mail)); message.setSubject("Java Email"); message.setText("This is an email sent by <b>JavaMail</b> api."); Transport.send(message); } System.out.println("Done"); }catch (MessagingException e) { throw new RuntimeException(e); } } }
I get the following exception:
Exception in thread "main" java.lang.RuntimeException: javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; nested exception is: java.net.ConnectException: Connection refused: connect at com.cts.email.SendEmail.createEmailMessage(SendEmail.java:62) at com.cts.email.SendEmail.main(SendEmail.java:21) Caused by: javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; nested exception is: java.net.ConnectException: Connection refused: connect at javax.mail.Transport.send0(Transport.java:218) at javax.mail.Transport.send(Transport.java:80) at com.cts.email.SendEmail.createEmailMessage(SendEmail.java:55) ... 1 more
please help me with this.
java javamail
Sandeep reddy K.
source share