我有一个Web应用程序,需要以电子邮件的形式将RFC 822格式的.eml文件呈现给用户,并正确格式化 - 正确显示HTML文本主体,显示图像、附件等等。你知道有哪些组件/库可以做到这些吗?
我更喜欢使用Java(并且易于与Spring集成 :-)],但在Apache上运行的任何其他实现也可以。
我有一个Web应用程序,需要以电子邮件的形式将RFC 822格式的.eml文件呈现给用户,并正确格式化 - 正确显示HTML文本主体,显示图像、附件等等。你知道有哪些组件/库可以做到这些吗?
我更喜欢使用Java(并且易于与Spring集成 :-)],但在Apache上运行的任何其他实现也可以。
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());
}
}
您可以将.eml文件转换为javax.mail.Messages邮件消息:
将.eml文件加载到javax.mail.Messages中
然后,您可以使用此库将其转换为MessageBean:
http://javaclue.blogspot.com/2009/09/portable-java-mail-message-bean_02.html
MessageBean mb = MessageBeanUtil.mimeToBean(mailMessage);
将邮件消息转换为 MessageBean,可以使用 MessageBeanUtil.mimeToBean 方法。