3

我有一个 Web 应用程序,我需要向用户显示 .eml 文件(以 RFC 822 格式),格式正确为电子邮件 - 将 HTML 正确显示为文本正文,显示图像、附件等。你知道可以做这些事情的组件/库吗?

我更喜欢它在 Java 中(并且可以轻松地与 spring 集成:-)),但是在 Apache 上运行的任何其他实现也很好。

4

2 回答 2

0

Javamail 可以读取 EML 文件。

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;

public class ReadEmail {

   public static void main(String args[]) throws Exception{
       display(new File("C:\\temp\\message.eml"));

   }

   public static void display(File emlFile) throws Exception{
        Properties props = System.getProperties();
        props.put("mail.host", "smtp.dummydomain.com");
        props.put("mail.transport.protocol", "smtp");

        Session mailSession = Session.getDefaultInstance(props, null);
        InputStream source = new FileInputStream(emlFile);
        MimeMessage message = new MimeMessage(mailSession, source);


        System.out.println("Subject : " + message.getSubject());
        System.out.println("From : " + message.getFrom()[0]);
        System.out.println("--------------");
        System.out.println("Body : " +  message.getContent());
    }
}

使用 JavaMail 处理 EML 文件

于 2010-08-10T11:34:35.763 回答
0

您可以将 .eml 转换为 javax.mail.Messages mailMessage,如下所示:

将 .eml 文件加载到 javax.mail.Messages

那么你可以使用这个库在 MessageBean 中进行转换:

http://javaclue.blogspot.com/2009/09/portable-java-mail-message-bean_02.html

MessageBean mb = MessageBeanUtil.mimeToBean(mailMessage);

于 2019-04-09T08:52:23.743 回答