Advertisement
andgau

Untitled

Nov 4th, 2013
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.75 KB | None | 0 0
  1. package es.sinjava.labs;
  2.  
  3. import java.io.FileInputStream;
  4. import java.io.FileNotFoundException;
  5. import java.io.IOException;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Date;
  8. import java.util.InvalidPropertiesFormatException;
  9. import java.util.Properties;
  10.  
  11. import javax.mail.Message;
  12. import javax.mail.MessagingException;
  13. import javax.mail.NoSuchProviderException;
  14. import javax.mail.Session;
  15. import javax.mail.Transport;
  16. import javax.mail.internet.AddressException;
  17. import javax.mail.internet.InternetAddress;
  18. import javax.mail.internet.MimeMessage;
  19.  
  20. public class Mailer {
  21.  
  22.     Properties props = new Properties();
  23.  
  24.     public Mailer(String text) {
  25.         props = loadConfiguration();
  26.         InternetAddress destiny = getDestinyFromProperties(props);
  27.         Session session = Session.getDefaultInstance(props);
  28.         session.setDebug(true);
  29.         String from = props.getProperty("mail.smtp.user");
  30.         SimpleDateFormat sdf = new SimpleDateFormat("dd-mm-yyyy");
  31.         String subject = "PortalMessage " + sdf.format((new Date()));
  32.         MimeMessage message = createMessage(destiny, subject, text, session,
  33.                 from);
  34.         sendMessage(session, from, message);
  35.     }
  36.  
  37.     private InternetAddress getDestinyFromProperties(Properties props2) {
  38.         String destinyString = props.getProperty("info");
  39.         InternetAddress destiny = null;
  40.         try {
  41.             destiny = new InternetAddress(destinyString);
  42.         } catch (AddressException e) {
  43.             e.printStackTrace();
  44.         }
  45.         return destiny;
  46.     }
  47.  
  48.     private Properties loadConfiguration() {
  49.         Properties propertiesFromFile = new Properties();
  50.         try {
  51.             propertiesFromFile.loadFromXML(new FileInputStream("mail.xml"));
  52.         } catch (InvalidPropertiesFormatException e) {
  53.             e.printStackTrace();
  54.         } catch (FileNotFoundException e) {
  55.             e.printStackTrace();
  56.         } catch (IOException e) {
  57.             e.printStackTrace();
  58.         }
  59.         return propertiesFromFile;
  60.     }
  61.  
  62.     private void sendMessage(Session session, String from, MimeMessage message) {
  63.         Transport t;
  64.         String pass = props.getProperty("mail.smtp.pass");
  65.         try {
  66.             t = session.getTransport("smtp");
  67.             t.connect(from, pass);
  68.             t.sendMessage(message, message.getAllRecipients());
  69.             t.close();
  70.         } catch (NoSuchProviderException e) {
  71.             e.printStackTrace();
  72.         } catch (MessagingException e) {
  73.             e.printStackTrace();
  74.         }
  75.     }
  76.  
  77.     private MimeMessage createMessage(InternetAddress destiny, String subject,
  78.             String text, Session session, String from) {
  79.         MimeMessage message = new MimeMessage(session);
  80.         try {
  81.             message.setFrom(new InternetAddress(from));
  82.             message.addRecipient(Message.RecipientType.TO, destiny);
  83.             message.setSubject(subject);
  84.             message.setText(text);
  85.         } catch (AddressException e) {
  86.             e.printStackTrace();
  87.         } catch (MessagingException e) {
  88.             e.printStackTrace();
  89.         }
  90.         return message;
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement