Email sending with Attachments

//Required jar file :  javamail-1.4.jar

import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class EmailAttachmentSender { public static void main(String[] args) {
// Recipient’s email ID needs to be mentioned.
String to=”testing3.me@gmail.com”;//change accordingly
final String user=”testing3.me@gmail.com”;//change accordingly
final String password=”*****”;//change accordingly

//1) get the session object
Properties properties = System.getProperties();
/* properties.setProperty(“mail.smtp.host”, “smtp.gmail.com”);
properties.put(“mail.smtp.auth”, “true”); */

properties.put(“mail.smtp.host”, “smtp.gmail.com”);
properties.put(“mail.smtp.socketFactory.port”, “465”);
properties.put(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”);
properties.put(“mail.smtp.auth”, “true”);
properties.put(“mail.smtp.port”, “465”);

Session session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user,password);
}
});

//2) compose message
try{
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(user));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject(“Message Aleart”);

//3) create MimeBodyPart object and set your message text
BodyPart messageBodyPart1 = new MimeBodyPart();
messageBodyPart1.setText(“This is message body”);

//4) create new MimeBodyPart object and set DataHandler object to this object
MimeBodyPart messageBodyPart2 = new MimeBodyPart();

String filename = “C:\\Users\\Youtility\\Desktop\\MyLogFile.log”;//change accordingly
DataSource source = new FileDataSource(filename);
messageBodyPart2.setDataHandler(new DataHandler(source));
messageBodyPart2.setFileName(filename);

//5) create Multipart object and add MimeBodyPart objects to this object
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart1);
multipart.addBodyPart(messageBodyPart2);

//6) set the multiplart object to the message object
message.setContent(multipart );

//7) send message
Transport.send(message);

System.out.println(“message sent….”);
}catch (MessagingException ex) {ex.printStackTrace();}
}
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s