怎么将javamac mail 导入 eml解析出来eml文件返回给jsp上显示

您的位置:
Javamail写带附件eml文件并调用Outlook
发布时间:11-11页 数:2页上一篇:下一篇:
/*** 设置E-mail用户名*/public void setUserName(String username) {this.username =}
/*** 设置E-mail密码*/public void setPassword(String password) {this.password =}
/*** 设置接收者*/public void setTo(String to) {this.to =}
/*** 设置主题*/public void setSubject(String subject) {this.subject =}
/*** 设置主体内容*/public void setContent(String content) {this.content =}
public EmailWriteToFile() {
private int port = 25;
public int getPort() {}
public void setPort(int port) {this.port =}
/*** 发送邮件** @throws IOException* @throws FileNotFoundException*/public boolean send() throws FileNotFoundException, IOException {HashMap<String, String> map = new HashMap<String, String>();map.put("state", "success");String message = "邮件发送成功!";Session session =Properties props = System.getProperties();props.put("mail.smtp.host", smtpServer);props.put("mail.smtp.port", port);try {
props.put("mail.smtp.auth", "false");session = Session.getDefaultInstance(props, null);
session.setDebug(false);Transport trans =Message msg = new MimeMessage(session);try {Address from_address = new InternetAddress(from, displayName);msg.setFrom(from_address);} catch (java.io.UnsupportedEncodingException e) {e.printStackTrace();}InternetAddress[] address = { new InternetAddress(to) };msg.setRecipients(Message.RecipientType.TO, address);msg.setSubject(subject);Multipart mp = new MimeMultipart();MimeBodyPart mbp = new MimeBodyPart();mbp.setContent(content.toString(), getContentType() + "; charset=" + getCharset());mp.addBodyPart(mbp);if (!file.isEmpty()) {// 有附件Enumeration efile = file.elements();while (efile.hasMoreElements()) {mbp = new MimeBodyPart();filename = efile.nextElement().toString(); // 选择出每一个附件名FileDataSource fds = new FileDataSource(filename); // 得到数据源mbp.setDataHandler(new DataHandler(fds)); // 得到附件本身并至入BodyPartmbp.setFileName(MimeUtility.encodeText(fds.getName(), getCharset(),"B")); // 得到文件名同样至入BodyPartmp.addBodyPart(mbp);}file.removeAllElements();}msg.setContent(mp); // Multipart加入到信件msg.setSentDate(new Date()); // 设置信件头的发送日期// 发送信件msg.saveChanges();File f = new File("d:/test.eml");msg.writeTo(new FileOutputStream(f));
} catch (AuthenticationFailedException e) {map.put("state", "failed");message = "邮件发送失败!错误原因: " + "身份验证错误!";e.printStackTrace();} catch (MessagingException e) {message = "邮件发送失败!错误原因: " + e.getMessage();map.put("state", "failed");e.printStackTrace();Exception ex =if ((ex = e.getNextException()) != null) {System.out.println(ex.toString());ex.printStackTrace();}}// System.out.println(" 提示信息:"+message);map.put("message", message);}
public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException {EmailWriteToFile o = new EmailWriteToFile();o.setSmtpServer("localhost");o.setFrom("");o.setDisplayName("TOM");o.setTo("");o.setSubject("Test Subject");o.setContent("Test Content");o.setCharset("GBK");o.addFile("e:/读我.txt");o.send();Process p = Runtime.getRuntime().exec("cmd /C start msimn.exe /eml:d:/test.eml");
[an error occurred while processing this directive]
&2009- 版权所有javamail读取OUTLOOK保存下的邮件文件的问题
[问题点数:100分,结帖人dongchunguo]
javamail读取OUTLOOK保存下的邮件文件的问题
[问题点数:100分,结帖人dongchunguo]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2010年5月 Java大版内专家分月排行榜第一2010年2月 Java大版内专家分月排行榜第一2010年1月 Java大版内专家分月排行榜第一2010年1月 Oracle大版内专家分月排行榜第一2009年12月 Java大版内专家分月排行榜第一2009年12月 Oracle大版内专家分月排行榜第一
2010年2月 Oracle大版内专家分月排行榜第三
2011年1月 Java大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。找好工作,快人一步java 使用JavaMail处理EML文件 - 为程序员服务
为程序员服务
使用JavaMail处理EML文件
当我们在outlook中保存一个邮件是可以存成eml格式,这种格式是. 这种文件可以用JavaMail来解析。
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&, &&);
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文件格式说明 :
X-Mozilla-Status: 0001
X-Mozilla-Status2:
Received: from tomts25-srv.bellnexxia.net
(tomts25.bellnexxia.net [209.226.175.188])
(8.9.3/8.9.3) with ESMTP id NAA07621
Sun, 1 Feb :33 -0500 (EST)
Date: Sun, 01 Feb :40 -0500
From: real gagnon
User-Agent: Mozilla/5.0
(W U; Windows NT 5.1; en-US; rv:1.4)
Gecko/ Netscape/7.1 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
Subject: Example for HowTo
Content-Type: text/ charset=us- format=flowed
Content-Transfer-Encoding: 7bit
X-UIDL: oP#!!c]^!!1;-!!T@1&!
This is an example for HowTo
通过上面的程序解析后的输出如下:
Subject : Example for HowTo
From : real gagnon
--------------
This is an example for HowTo
您可能的代码
相关聚客文章
相关专栏文章}

我要回帖

更多关于 mail.eml 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信