Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.ericsson.nosc.smtp;
- import com.ericsson.nosc.configuration.AppConfCC;
- import com.ericsson.nosc.outage.entities.SmtpSendingQueue;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Properties;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.activation.DataHandler;
- import javax.activation.DataSource;
- import javax.activation.FileDataSource;
- import javax.mail.Address;
- import javax.mail.Authenticator;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.Multipart;
- import javax.mail.PasswordAuthentication;
- import javax.mail.Session;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeBodyPart;
- import javax.mail.internet.MimeMessage;
- import javax.mail.internet.MimeMultipart;
- import javax.persistence.EntityManager;
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.Persistence;
- import org.apache.poi.ss.usermodel.ExcelStyleDateFormatter;
- import org.joda.time.DateTime;
- import org.joda.time.format.DateTimeFormat;
- import org.joda.time.format.DateTimeFormatter;
- /**
- *
- * @author Amr
- */
- public class SMTPAgent {
- private String Host = AppConfCC.getESD_MAIL_HOST();//"https://mail.etisalat.com/ews/exchange.asmx";
- private String UserName = AppConfCC.getESD_MAIL_USER();//"esd.helpdesk";
- private String From = AppConfCC.getESD_MAIL_FROM();//"ESD-HelpDesk-Ericsson@etisalat.com";//ESD HelpDesk Ericsson <ESD-HelpDesk-Ericsson@etisalat.com>
- private String Password = AppConfCC.getESD_MAIL_PASS();//"Temp4321";
- private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMhhmmss");
- public void SendEmail(String SavePath,Address[] distList,String Subject,String MessageToSend,String[] Path,String[] FileName) throws MessagingException, IOException{
- Session session=Session.getInstance(new Properties(), new Authenticator()
- {
- @Override
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(UserName,Password);
- }
- });
- // Transport lTransport = session.getTransport("ewstransport");
- // lTransport.connect(
- // Host,
- // UserName,
- // Password);
- Message message = new MimeMessage(session);
- message.setFrom(new InternetAddress(From));
- message.setRecipients(Message.RecipientType.TO,distList);
- message.setSubject(Subject);
- message.setSubject(Subject);
- message.setText(MessageToSend);
- MimeMultipart multipart = new MimeMultipart("related");
- MimeBodyPart messageBodyPart = new MimeBodyPart();
- messageBodyPart.setContent(MessageToSend,"text/html");//
- multipart.addBodyPart(messageBodyPart);
- for (int i = 0; i < Path.length; i++)
- {
- if(Path[i].contains("."))
- addAttachment(multipart, Path[i],FileName[i],i);
- }
- message.setContent(multipart);
- message.writeTo(new FileOutputStream(new File(SavePath+"/"+Subject+".eml")));
- // lTransport.sendMessage(message, distList);
- if(FTPFile.FTPThisFile(SavePath+"/"+Subject+".eml", Subject+".eml"))
- {
- SmtpSendingQueue msg = new SmtpSendingQueue();
- msg.setFtped(true);
- msg.setLocation(AppConfCC.getSMTP_PATH()+"/"+Subject+".eml");
- msg.setId(new Long(sdf.format(DateTime.now().toDate())));
- persist(msg);
- System.out.println("Message Sent !!");
- }
- // lTransport.close();
- // lTransport = null;
- session = null;
- }
- private static void addAttachment(Multipart multipart, String Path,String Name,int x)
- {
- try {
- MimeBodyPart messageBodyPart2 = new MimeBodyPart();
- DataSource source2 = new FileDataSource(Path);
- messageBodyPart2.setDataHandler( new DataHandler(source2));
- messageBodyPart2.setFileName(Name);
- multipart.addBodyPart(messageBodyPart2);
- }
- catch (MessagingException ex) {
- Logger.getLogger(SMTPAgent.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void persist(Object object) {
- EntityManagerFactory emf = Persistence.createEntityManagerFactory("Mubasher_CC_1027_OutageDB");
- EntityManager em = emf.createEntityManager();
- em.getTransaction().begin();
- try {
- em.persist(object);
- em.getTransaction().commit();
- } catch (Exception e) {
- e.printStackTrace();
- em.getTransaction().rollback();
- } finally {
- em.close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement