private void logEnvelope(final MailEnvelope env, final Message message, final String deliveryId) { logger.info("DID{}: size={}, nrcpts={}, from=<{}>, msgid={}", new Object[] { deliveryId, message.getSize(), env.getRecipients().size(), env.getSender(), message.getMessageId() == null ? "" : message.getMessageId() }); }
/** * Return the sender of the mail which was supplied int the MAIL FROM: * command. If its a "null" sender, null will get returned * * @deprecated @see {@link #getMaybeSender()} * * Note that SMTP null sender ( "<>" ) needs to be implicitly handled by the caller under the form of 'null' or * {@link MailAddress#nullSender()}. Replacement method adds type safety on this operation. * * @return sender */ @Deprecated default MailAddress getSender() { return getMaybeSender().asOptional().orElse(MailAddress.nullSender()); }
protected static void checkEnvelope(MailEnvelope env, String sender, List<String> recipients, String msg) throws IOException { assertThat(env.getSender().toString()).isEqualTo(sender); List<MailAddress> envRecipients = env.getRecipients(); assertThat(envRecipients.size()).isEqualTo(recipients.size()); for (int i = 0; i < recipients.size(); i++) { reader = new BufferedReader(new InputStreamReader(env.getMessageInputStream()));
protected static void checkEnvelope(MailEnvelope env, String sender, List<String> recipients, String msg) throws IOException { assertThat(env.getMaybeSender().asString()).isEqualTo(sender); List<MailAddress> envRecipients = env.getRecipients(); assertThat(envRecipients.size()).isEqualTo(recipients.size()); for (int i = 0; i < recipients.size(); i++) { reader = new BufferedReader(new InputStreamReader(env.getMessageInputStream()));
parser.parse(env.getMessageInputStream()); message = parser.getMessage(); } catch (MimeParserException mpe) { message.setSize((long) env.getSize()); // update message size for (MailAddress recipient : env.getRecipients()) messageDAO.put(mailbox, messageId, message, env.getMessageInputStream());
/** * Returns the sender of the message, as specified by the SMTP "MAIL FROM" command, * or internally defined. * * 'null' or {@link MailAddress#nullSender()} are handled with {@link MaybeSender}. * * @since Mailet API v3.2.0 * @return the sender of this message wrapped in an optional */ default MaybeSender getMaybeSender() { return MaybeSender.of(getSender()); }
.appendMessage(MessageManager.AppendCommand.builder() .recent() .build(envelope.getMessageInputStream()), mailboxSession); mailboxManager.endProcessingRequest(mailboxSession);
@Override public Map<MailAddress, DeliveryReturnCode> deliver(MailEnvelope env, final String sessionId) { Map<MailAddress, DeliveryReturnCode> map = new HashMap<MailAddress, DeliveryReturnCode>(); for (IDeliveryAgent agent : agents) { try { map.putAll(agent.deliver(env, sessionId)); } catch (Exception e) { logger.warn(agent.getClass().getName() + " delivery deferred: mail delivery failed: ", e); for (MailAddress address : env.getRecipients()) { map.put(address, DeliveryReturnCode.TEMPORARY_FAILURE); } } } return map; }