Do you know that we can Send report through email in Selenium Webdriver with small code with help of additional jars?
Today I will show you how you can Send report through email in Selenium Webdriver using simple steps and trust me this is one of the most important features that you should include in your framework as well.
It does not matter which framework you are using it could be Keyword driver, Data driven and Hybrid you should implement email report functionality after test execution.
Step by Step process to Send report through email in Selenium Webdriver
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 SendMailSSLWithAttachment {
 public static void main(String[] args) {
  // Create object of Property file
  Properties props = new Properties();
  // this will set host of server- you can change based on your requirement 
  props.put("mail.smtp.host", "smtp.gmail.com");
  // set the port of socket factory 
  props.put("mail.smtp.socketFactory.port", "465");
  // set socket factory
  props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
  // set the authentication to true
  props.put("mail.smtp.auth", "true");
  // set the port of SMTP server
  props.put("mail.smtp.port", "465");
  // This will handle the complete authentication
  Session session = Session.getDefaultInstance(props,
  new javax.mail.Authenticator() {
  protected PasswordAuthentication getPasswordAuthentication() {
  return new PasswordAuthentication("add your email", "add your password");
     }
    });
  try {
   // Create object of MimeMessage class
  Message message = new MimeMessage(session);
   // Set the from address
  message.setFrom(new InternetAddress("thotajagan63@gmail.com"));
   // Set the recipient address
 message.setRecipients(Message.RecipientType.TO,InternetAddress.parse("jagan@gmail.com"));
                        // Add the subject link
   message.setSubject("Testing Subject");
   // Create object to add multimedia type content
   BodyPart messageBodyPart1 = new MimeBodyPart();
   // Set the body of email
   messageBodyPart1.setText("This is message body");
   // Create another object to add another content
   MimeBodyPart messageBodyPart2 = new MimeBodyPart();
   // Mention the file which you want to send
   String filename = "G:\\a.xlsx";
   // Create data source and pass the filename
   DataSource source = new FileDataSource(filename);
   // set the handler
   messageBodyPart2.setDataHandler(new DataHandler(source));
   // set the file
   messageBodyPart2.setFileName(filename);
   // Create object of MimeMultipart class
   Multipart multipart = new MimeMultipart();
   // add body part 1
   multipart.addBodyPart(messageBodyPart2);
   // add body part 2
   multipart.addBodyPart(messageBodyPart1);
   // set the content
   message.setContent(multipart);
   // finally send the email
   Transport.send(message);
   System.out.println("=====Email Sent=====");
  } catch (MessagingException e) {
   throw new RuntimeException(e);
  }
 }
}
 
this code is not working sir, i am trying to send mail with attachment
ReplyDelete