public void setStatus(Email email, EmailStatus status) { String messageId = email.getMessageID(); if (messageId != null) statusMap.put(messageId, status); }
/** * Returns the status of an {@link Email}. * If the email doesn't exist in the outbox, or if no status is set, * the default status is returned. * @param email * @see #getDefaultStatus() */ public EmailStatus getStatus(Email email) { String messageId = email.getMessageID(); if (messageId == null) return DEFAULT_STATUS; else return getStatus(messageId); } }
/** @see #move(String, EmailFolder) */ public boolean move(Email email, EmailFolder newFolder) { return move(email.getMessageID(), newFolder); }
private File getEmailFile(Email email) { return getEmailFile(email.getMessageID()); }
@Override public String toString() { StringBuilder result = new StringBuilder("MsgId: ").append(getMessageID()); try { result = result.append("From: ").append(getOneFromAddress()); result = result.append("Recipients: "); for (Address recipient: getAllRecipients()) { if (result.length() > 1000) { result = result.append("..."); break; } if (result.length() > 0) result = result.append(", "); String recipientAddress = recipient.toString(); if (recipientAddress.length() > 20) result = result.append(recipientAddress).append("..."); else result = result.append(recipientAddress); } } catch (MessagingException e) { log.error("Error getting sender or recipients."); result.append("#Error#"); } return result.toString(); } }
public void saveMetadata(Email email) throws PasswordException, FileNotFoundException, IOException, GeneralSecurityException { EmailMetadata metadata = email.getMetadata(); File metaFile = getMetadataFile(email.getMessageID()); saveMetadata(metadata, metaFile); }
public void setNew(Email email, boolean isNew) throws PasswordException, GeneralSecurityException { EmailMetadata metadata = email.getMetadata(); metadata.setUnread(isNew); try { saveMetadata(email); } catch (IOException e) { log.error("Can't read metadata file for message ID <" + email.getMessageID() + ">", e); } }
if (getEmailFile(email.getMessageID()).exists()) { log.debug("Not storing email because there is an existing one with the same message ID: <" + email.getMessageID()+ ">"); return; listener.elementAdded(email.getMessageID());
listener.emailReceived(email.getMessageID());
@Test public void testDelete() throws IOException, MessagingException, PasswordException, GeneralSecurityException { folder1.add(email1); folder1.delete(email1.getMessageID()); assertEquals("The email file and/or the metadata were not deleted!", 0, folderDir1.list().length); }
while (iterator.hasNext()) { Email email = iterator.next(); log.info("Processing email with message Id: '" + email.getMessageID() + "'.");
@Test public void testAdd() throws IOException, MessagingException, PasswordException, GeneralSecurityException { assertEquals(0, folderDir1.list().length); folder1.add(email1); assertEquals(2, folderDir1.list().length); folder1.add(email2); assertEquals(4, folderDir1.list().length); String messageId1 = email1.getMessageID(); TestUtil.assertEquals("Email in folder differs from the original!", email1, folder1.getEmail(messageId1)); TestUtil.assertUnequal("Folder returned the wrong email!", email2, folder1.getEmail(messageId1)); String messageId2 = email2.getMessageID(); TestUtil.assertEquals("Email in folder differs from the original!", email2, folder1.getEmail(messageId2)); TestUtil.assertUnequal("Folder returned the wrong email!", email2, folder2.getEmail(messageId2)); }
@Test public void testSetNew() throws IOException, MessagingException, PasswordException, GeneralSecurityException { folder1.add(email1); FolderIterator<Email> iterator = folder1.iterate(); Email emailFromFolder = iterator.next(); assertEquals("\"unread\" flag is false after adding email to folder!", emailFromFolder.isUnread(), true); folder1.setNew(email1.getMessageID(), false); } }
logSuffix = "Recipient = '" + recipient + "' Message ID = '" + email.getMessageID() + "'"; log.info("Sending email: " + logSuffix); EmailDestination recipientDest = new EmailDestination(recipient);