public MDNReport generateReport(Message originalMessage, MailboxSession mailboxSession) throws InvalidOriginMessageForMDNException { if (originalMessage.getMessageId() == null) { throw InvalidOriginMessageForMDNException.missingHeader("Message-ID"); } return MDNReport.builder() .dispositionField(generateDisposition()) .originalRecipientField(mailboxSession.getUser().getUserName()) .originalMessageIdField(originalMessage.getMessageId()) .finalRecipientField(mailboxSession.getUser().getUserName()) .reportingUserAgentField(getReportingUA()) .build(); }