Subversion Repositories SmartDukaan

Rev

Rev 11214 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.utils;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.Multipart;
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 EmailUtils {
        public static void main(String... args) throws IOException{

                System.out.println("Test Email Start");
                String[] sendTo = { "vikram.raghav@shop2020.in"};
                FileReader fileReader = new FileReader("/home/Mobiles-Tablets-FBA-body.html");
                StringBuffer sb = new StringBuffer();
                while(fileReader.read()!=-1){
                        char c = (char) fileReader.read();
                        sb.append(c);
                }
                EmailUtils.sendEmail(sendTo,"------DONT PANIC--------TEST EMAIL--------", sb.toString(),"/home/Mobiles-Tablets-FBA-Sale.xls");
                
                System.out.println("Test Email Sent");

        }

        /**
         * Utility method to send simple HTML email
         * @param session
         * @param toEmail
         * @param subject
         * @param body
         */
        public static void sendEmail(String[] toEmail, String subject, String body,String filename){
                try
                {
                        Properties props = System.getProperties();
                        String smtpHostServer = "localhost";
                        props.put("mail.smtp.host", smtpHostServer);
                        Session session = Session.getInstance(props, null);
                        MimeMessage msg = new MimeMessage(session);
                        //set message headers
                        msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
                        msg.addHeader("format", "flowed");
                        msg.addHeader("Content-Transfer-Encoding", "8bit");

                        msg.setFrom(new InternetAddress("build@shop2020.in", ""));

                        msg.setSubject(subject, "UTF-8");

                        msg.setText(body, "UTF-8");
                        
                        Multipart multipart = new MimeMultipart();
                        // create the message part 
                        MimeBodyPart messageBodyPart = new MimeBodyPart();
                        //Part 1: Text message
                        messageBodyPart.setText(body);
                        multipart.addBodyPart(messageBodyPart);
                        //Part 2: Attachment
                        messageBodyPart = new MimeBodyPart();
                        DataSource source = new FileDataSource(filename);
                        messageBodyPart.setDataHandler(new DataHandler(source));
                        String[] names = filename.split("/");
                        messageBodyPart.setFileName(names[names.length - 1]);
                        multipart.addBodyPart(messageBodyPart);

                        msg.setSentDate(new Date());
                        for(String email:toEmail){
                                msg.addRecipient(Message.RecipientType.TO,InternetAddress.parse(email)[0]);
                        }
                        System.out.println("Message is ready");
                        Transport.send(msg);  

                        System.out.println("EMail Sent Successfully!!");
                }
                catch (Exception e) {
                        e.printStackTrace();
                }
        }
}