【问题标题】:Display .eml file in a web appication在 Web 应用程序中显示 .eml 文件
【发布时间】:2011-03-27 18:36:43
【问题描述】:

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

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

【问题讨论】:

  • 运行 mod_mono 的 .NET 组件可以吗?
  • @Oded - 你有什么想法?
  • 有许多专有的 .NET 库/解决方案可以在 mono/apache 下运行。这更像是一个长镜头,因为它需要进行测试。如果有本土的东西,我会去的。
  • 你找到什么了吗?
  • @DavidRabinowitz 所以...你找到什么了吗?

标签: java html email viewer


【解决方案1】:

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());
    }
}

Handle EML file with JavaMail

【讨论】:

  • 谢谢,但这并不能解决嵌入的图像、附件、多部分消息和其他问题。我希望避免所有这些。
【解决方案2】:

您可以将 .eml 转换为 javax.mail.Messages mailMessage 为:

Loading .eml files into javax.mail.Messages

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

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

MessageBean mb = MessageBeanUtil.mimeToBean(mailMessage);

【讨论】:

  • 如何将我的电子邮件显示为网页?
  • 有几个框架用于显示服务器端处理。例如,您可以使用 Spring MVC。这是一个例子:crunchify.com/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-27
  • 2021-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-15
  • 1970-01-01
相关资源
最近更新 更多