/** construct recipient addresses from user entities */ private Address[] resolveAddresses(List<User> users, AddressResolver addressResolver) { int userCount = users.size(); List<Address> addresses = new ArrayList<Address>(); for (int i = 0; i < userCount; i++) { if (!StringUtils.isEmpty(users.get(i).getBusinessEmail())) { addresses.add(addressResolver.resolveAddress(users.get(i))); } } return addresses.toArray(new Address[addresses.size()]); }
public static void main(String[] args) throws MessagingException, IOException { Properties props = new Properties(); try (InputStream in = Files.newInputStream(Paths.get("mail", "mail.properties"))) { props.load(in); } List<String> lines = Files.readAllLines(Paths.get(args[0]), Charset.forName("UTF-8")); String from = lines.get(0); String to = lines.get(1); String subject = lines.get(2); StringBuilder builder = new StringBuilder(); for (int i = 3; i < lines.size(); i++) { builder.append(lines.get(i)); builder.append("\n"); } Console console = System.console(); String password = new String(console.readPassword("Password: ")); Session mailSession = Session.getDefaultInstance(props); // mailSession.setDebug(true); MimeMessage message = new MimeMessage(mailSession); message.setFrom(new InternetAddress(from)); message.addRecipient(RecipientType.TO, new InternetAddress(to)); message.setSubject(subject); message.setText(builder.toString()); Transport tr = mailSession.getTransport(); try { tr.connect(null, password); tr.sendMessage(message, message.getAllRecipients()); } finally { tr.close(); } }
public void messageChanged(MessageChangedEvent e) { Message changedMessage = e.getMessage(); for (int i = 0; i < messages.size(); ++i) { if (messages.get(i) == changedMessage) { fireTableRowsUpdated(i, i); } } }
public MessagesWrapper print() throws MessagingException { logger.info("Found message(s) : " + messages.size()); for (Message message : messages) { logger.info(">>>>>>"); logger.info("Date : " + message.getSentDate()); logger.info("From : " + (message.getFrom().length > 0 ? message.getFrom()[0] : null)); logger.info("Subject : " + message.getSubject()); logger.info("<<<<<<"); } return this; }
public MessagesWrapper markAsRead(List<Message> messagez) throws IOException, MessagingException { if (folder.isOpen() && folder.getMode() != Folder.READ_WRITE) { folder.close(true); } if (!folder.isOpen()) { folder.open(Folder.READ_WRITE); } for (Message message : messagez) { message.setFlag(Flags.Flag.SEEN, true); } logger.info("Marked email(s) as read : " + messagez.size()); return this; }
public void messagesAdded(MessageCountEvent e) { try { // I don't think it matters where we put the new messages, but for the sanity of users // who don't sort, and because it's the cheapest option, we'll bung them at the end. Message[] newMessages = e.getMessages(); // Work out where the new items will appear. final int firstNewRow = messages.size(); final int lastNewRow = firstNewRow + newMessages.length - 1; // Actually insert the new items, and notify the listeners. messages.addAll(Arrays.asList(newMessages)); fireTableRowsInserted(firstNewRow, lastNewRow); } catch (Exception ex) { ex.printStackTrace(); } }
public int getRowCount() { return messages.size(); }