在Web应用程序中显示.eml文件

3

我有一个Web应用程序,需要以电子邮件的形式将RFC 822格式的.eml文件呈现给用户,并正确格式化 - 正确显示HTML文本主体,显示图像、附件等等。你知道有哪些组件/库可以做到这些吗?

我更喜欢使用Java(并且易于与Spring集成 :-)],但在Apache上运行的任何其他实现也可以。


用 mod_mono 运行的 .NET 组件可以吗? - Oded
@Oded - 你有什么想法? - David Rabinowitz
有一些专有的.NET库/解决方案可能能够在mono/apache下运行。这更像是一个尝试,需要进行测试。如果有本地支持的东西,我会选择它。 - Oded
1
你找到过任何东西吗? - ETL
@DavidRabinowitz 那么...你找到什么了吗? - Clément
我已经很久没有需要那个了,但是我没有找到任何东西。我猜在实践中这是一个非常特殊的用例,所以没有相应的组件。此外,Web UI 更倾向于使用 JS 代码(Node、Angular、React 等),较少使用基于 Java 的站点,因此我认为不会有这样的组件。 - David Rabinowitz
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());
    }
}

3
谢谢,但是这不能处理嵌入的图片、附件、多部分消息和其他问题。我希望避免所有这些。 - David Rabinowitz

0

它将如何将我的电子邮件显示为网页? - David Rabinowitz
有几个框架可以用于显示服务器端处理。例如,您可以使用Spring MVC。以下是一个示例: https://crunchify.com/simplest-spring-mvc-hello-world-example-tutorial-spring-model-view-controller-tips/ - sunrelax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接