Subversion Repositories SmartDukaan

Rev

Rev 11178 | Rev 11215 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
11178 vikram.rag 1
package in.shop2020.utils;
2
import java.io.BufferedReader;
3
import java.io.FileNotFoundException;
4
import java.io.FileReader;
5
import java.io.IOException;
6
import java.util.Date;
7
import java.util.Properties;
8
 
9
import javax.activation.DataHandler;
10
import javax.activation.DataSource;
11
import javax.activation.FileDataSource;
12
import javax.mail.Message;
11214 vikram.rag 13
import javax.mail.MessagingException;
11178 vikram.rag 14
import javax.mail.Multipart;
15
import javax.mail.Session;
16
import javax.mail.Transport;
17
import javax.mail.internet.InternetAddress;
18
import javax.mail.internet.MimeBodyPart;
19
import javax.mail.internet.MimeMessage;
20
import javax.mail.internet.MimeMultipart;
21
 
22
public class EmailUtils {
23
	public static void main(String... args) throws IOException{
24
 
25
		System.out.println("Test Email Start");
26
		String[] sendTo = { "vikram.raghav@shop2020.in"};
11214 vikram.rag 27
		EmailUtils.sendEmail(sendTo,"------DONT PANIC--------TEST EMAIL--------","MAIL Body","build@shop2020.in","/home/Mobiles-Tablets-FBA-Sale.xls","/home/Mobiles-Tablets-FBA-body.html");
11178 vikram.rag 28
		System.out.println("Test Email Sent");
29
 
30
	}
31
 
32
	/**
33
	 * Utility method to send simple HTML email
34
	 * @param session
35
	 * @param toEmail
36
	 * @param subject
37
	 * @param body
38
	 */
11214 vikram.rag 39
	public static void sendEmail(String[] toEmail, String subject, String body,String fromEmail,String filename,String htmlFileName){
11178 vikram.rag 40
		try
41
		{
11214 vikram.rag 42
			BufferedReader bufferedReader = new BufferedReader(new FileReader(htmlFileName));
43
			StringBuffer htmlContent = new StringBuffer();
44
			String line = null;
45
			while((line =bufferedReader.readLine())!=null){
46
				htmlContent.append(line).append("\n");
47
			}
48
			Multipart multipart = new MimeMultipart();
49
			MimeBodyPart htmlPart = new MimeBodyPart();
50
			htmlPart.setContent(htmlContent.toString(), "text/html; charset=utf-8");
51
			multipart.addBodyPart(htmlPart);
11178 vikram.rag 52
			Properties props = System.getProperties();
53
			String smtpHostServer = "localhost";
54
			props.put("mail.smtp.host", smtpHostServer);
55
			Session session = Session.getInstance(props, null);
56
			MimeMessage msg = new MimeMessage(session);
57
			//set message headers
58
			msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
59
			msg.addHeader("format", "flowed");
60
			msg.addHeader("Content-Transfer-Encoding", "8bit");
61
 
11214 vikram.rag 62
			msg.setFrom(new InternetAddress(fromEmail, ""));
11178 vikram.rag 63
 
64
			msg.setSubject(subject, "UTF-8");
65
 
66
			msg.setText(body, "UTF-8");
67
 
68
			// create the message part 
69
			MimeBodyPart messageBodyPart = new MimeBodyPart();
70
			//Part 1: Text message
71
			messageBodyPart.setText(body);
72
			multipart.addBodyPart(messageBodyPart);
73
			//Part 2: Attachment
74
			messageBodyPart = new MimeBodyPart();
75
			DataSource source = new FileDataSource(filename);
76
			messageBodyPart.setDataHandler(new DataHandler(source));
77
			String[] names = filename.split("/");
78
			messageBodyPart.setFileName(names[names.length - 1]);
79
			multipart.addBodyPart(messageBodyPart);
80
			msg.setSentDate(new Date());
81
			for(String email:toEmail){
82
				msg.addRecipient(Message.RecipientType.TO,InternetAddress.parse(email)[0]);
83
			}
84
			System.out.println("Message is ready");
85
			Transport.send(msg);  
86
 
87
			System.out.println("EMail Sent Successfully!!");
88
		}
89
		catch (Exception e) {
90
			e.printStackTrace();
91
		}
92
	}
93
}