thufir

Untitled

Dec 24th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.76 KB | None | 0 0
  1. package net.bounceme.dur.nntp;
  2.  
  3. import gnu.mail.providers.smtp.SMTPTransport;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Properties;
  7. import java.util.logging.Logger;
  8. import javax.mail.Folder;
  9. import javax.mail.Message;
  10. import javax.mail.MessagingException;
  11. import javax.mail.NoSuchProviderException;
  12. import javax.mail.Session;
  13. import javax.mail.Store;
  14. import javax.mail.URLName;
  15. import javax.mail.internet.InternetAddress;
  16.  
  17. public class Main {
  18.  
  19.     private final Logger log = Logger.getLogger(Main.class.getName());
  20.     private Message message = null;
  21.     private Session session = null;
  22.     private Properties props = null;
  23.     private Folder root = null;
  24.     private List<Folder> folders = null;
  25.     private Store store = null;
  26.     private Folder folder = null;
  27.     private List<Message> messages = null;
  28.     private SMTPTransport transport = null;
  29.  
  30.     public Main() {
  31.         connect();
  32.     }
  33.  
  34.     public static void main(String[] args) {
  35.         new Main();
  36.     }
  37.  
  38.     private void connect() {
  39.         props = PropertiesReader.getProps();
  40.         session = Session.getDefaultInstance(props);
  41.         session.setDebug(true);
  42.  
  43.         String host = props.getProperty("smtp.host");
  44.         String user = props.getProperty("smtp.host");
  45.         String password = props.getProperty("mail.password");
  46.         int port = 465;
  47.  
  48.         try {
  49.             store = session.getStore(new URLName(props.getProperty("nntp.host")));
  50.         } catch (NoSuchProviderException ex) {
  51.             log.warning(ex.toString());
  52.         }
  53.         try {
  54.             store.connect();
  55.             root = store.getDefaultFolder();
  56.             folders = Arrays.asList(root.listSubscribed());
  57.             transport = (SMTPTransport) session.getTransport("smtp");
  58.             for (Folder f : folders) {
  59.                 folder = root.getFolder(f.getFullName());
  60.                 folder.open(Folder.READ_ONLY);
  61.                 messages = Arrays.asList(folder.getMessages());
  62.                 for (Message message : messages) {
  63.                     log.info(message.getSubject());
  64.                     message.setFrom(new InternetAddress(props.getProperty("mail.user")));
  65.                     message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(props.getProperty("mail.user"), false));
  66.                     transport.connect(host, port, user, password);
  67.                     log.info("connected");
  68.                     transport.sendMessage(message, message.getAllRecipients());
  69.                     transport.close();
  70.                 }
  71.                 folder.close(true);
  72.             }
  73.             root.close(true);
  74.             store.close();
  75.         } catch (MessagingException ex) {
  76.             log.warning(ex.toString());
  77.         }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment