繁体   English   中英

Java - 将原始电子邮件内容文本 RFC 822 转换为 MimeMessage

[英]Java - Convert the Raw Email Content Text RFC 822 to MimeMessage

寻找将原始电子邮件消息 RFC 822 转换为 java MimeMessage 对象的选项。 MimeMessage 可以选择使用MimeMessage#writeTo将对象转换为原始电子邮件上下文,反之亦然。

背景:

Sendgrid - 入站解析调用 API 并发送 json 有效负载的原始电子邮件内容部分,我们必须从中收集电子邮件内容和附件文件。

    String rawEmailString = "";
    InputStream targetStream = new ByteArrayInputStream(rawEmailString.getBytes());
    Session session = null;
    MimeMessage mimeMessageObj;
    try {

        // raw message to mime conversion - start

        mimeMessageObj = new MimeMessage(session, targetStream); 

        // raw message to mime conversion - end

        // bonus line of code to play with the message
        MimeMessageParser mimeParser = new MimeMessageParser(mimeMessageObj);
        mimeParser.parse();
        List<javax.mail.Address> to = mimeParser.getTo();
        String from = mimeParser.getFrom();
        String subject = mimeParser.getSubject();
        String bodyPlain = mimeParser.getPlainContent();
        String bodyHtml = mimeParser.getHtmlContent();
        System.out.println("From id >>>>>>>>>> " + from);
    } catch (Exception ex) {
        ex.printStackTrace();
    }

对于org.apache.commons.mail.util.MimeMessageParser; 您可以使用

   <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.3</version>
    </dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM