I have to send an email through a servlet, I have tried a bunch of codes, but none of them work with an gmail account, any ideas?
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
Authenticator auth = new SMTPAuthenticator();
//auth = null;
Session sess = Session.getInstance(props, auth);
sess.setDebug(false);
// -- Create a new message --
Message msg = new MimeMessage(sess);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress("[email protected]"));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
"sendtoemail", false));
msg.setSubject("Test");
msg.setText("Yippe");
msg.setSentDate(new Date());
Transport.send(msg);
public class SMTPAuthenticator extends javax.mail.Authenticator {
@Override
public PasswordAuthentication getPasswordAuthentication() {
String username = "[email protected]";
String password = "mypass";
return new PasswordAuthentication(username, password);
}
}
This Code throws javax.mail.MessagingException: Could not convert socket to TLS
exception