Tuesday, November 14, 2017

Sending email using javamail and Gmail


import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class Mailer {
public static void send(String to, String subject, String msg) {
//System.out.println(to+subject+msg);
final String user = "gmail id here";
final String pass = "put your password here"

// 1st step) Get the session object
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");

Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, pass);
}
});
// 2nd step)compose message
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(user));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);

BodyPart messageBodyPart = new MimeBodyPart();
Multipart multipart = new MimeMultipart();

multipart.addBodyPart(messageBodyPart);
                message.setContent(multipart);
Transport.send(message);
System.out.println("Done");

} catch (MessagingException e) {
throw new RuntimeException(e);
}

}
public static void main(String arg[])
{
String to=arg[0];
String subject=arg[1];
String msg=arg[2];
send(to,subject,msg);
}
}