Tuesday 21 July 2015

Email sending with attachment.

Required jar file : javax.mail-1.4.jar
 use this link : http://www.java2s.com/Code/Jar/j/Downloadjavaxmailjar.htm
           or
http://mvnrepository.com/artifact/javax.mail/mail/1.4.7


package testNG;
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();} 
   } 
}

No comments:

Post a Comment