我正在尝试通过入站解析 Web 挂钩设置解析 sengrid 发布到 URL 的原始 mime 消息。以前我通过 Imap 和 java MimeMessage 监听来自 Mailserver 的传入邮件,我能够将其转换为字符串,反之亦然。请参阅下面的代码,我过去是如何在 java 中从 MimeMessage 转换为 String 的,反之亦然。
private void convertMimeMessageToStringAndViceVersa(javax.mail.internet.MimeMessage message) {
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
message.writeTo(bStream);
String rawMimeMessageString = new String(bStream.toByteArray(), StandardCharsets.UTF_8.name());
// Now from the above String to MimeMessage see below code
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
ByteArrayInputStream bais = new ByteArrayInputStream(rawMimeMessageString.getBytes());
javax.mail.internet.MimeMessage convertedMimeMessage = new MimeMessage(session, bais);
}
所以我的问题是,我无法将 sendgrid 通过入站解析 webhook 发布的字符串原始邮件消息转换为 javax.mail.internet.MimeMessage 类型。反正有没有。