设为首页 加入收藏

TOP

Java代理实现domino web邮件下载(一)
2014-11-23 22:06:55 来源: 作者: 【 】 浏览:37
Tags:Java 代理 实现 domino web 邮件 下载

【背景】


近日在研究domino web邮件下载功能,下载的邮件可以导入foxmail、outlook邮件客户端,下载的邮件格式为eml。


【参考代码】(需要下载jmail.jar包)


jar包下载地址:jar包下载


------------------------------------------分割线------------------------------------------


具体下载目录在 /2014年资料/7月/24日/Java代理实现domino web邮件下载


------------------------------------------分割线------------------------------------------


private void makeEml(String unid) {
Document memo=null;
RichTextItem body=null;
try {
memo = maildb.getDocumentByUNID(unid);
String mailtime=((String) memo.getCreated().getLocalTime());
String d_email = memo.getItemValueString("From");
Vector v_to = memo.getItemValue("SendTo");
Vector v_cc = memo.getItemValue("CopyTo");
Vector v_bcc = memo.getItemValue("BlindCopyTo");

String m_subject = memo.getItemValueString("Subject");
String m_text = memo.getItemValueString("Body");


Properties props = new Properties();
Session session = Session.getInstance(props, null);


//System.out.println("-----00000000------");
try {
MimeMessage msg = new MimeMessage(session);
msg.setSubject(m_subject);

//msg.setFrom(new InternetAddress(javax.mail.internet.MimeUtility.encodeText(d_email,"UTF-8", "B").replaceAll(" ", "")));


msg.setFrom(new InternetAddress(javax.mail.internet.MimeUtility.encodeText((String)d_email,"UTF-8", "B").replaceAll(" ", "")));


//System.out.println("-----111111------");
for (int i=0; i System.out.println("-----111111---0000---="+javax.mail.internet.MimeUtility.encodeText((String) v_to.elementAt(i),"UTF-8", "B").replaceAll(" ", ""));
InternetAddress[] toaddress = InternetAddress.parse(javax.mail.internet.MimeUtility.encodeText((String) v_to.elementAt(i),"UTF-8", "B").replaceAll(" ", ""));

msg.addRecipients(Message.RecipientType.TO, toaddress);
//msg.addRecipients(Message.RecipientType.TO, toaddress);
//System.out.println("-----111111---1111--222-");
}
for (int i=0; i InternetAddress[] ccaddress = InternetAddress.parse(javax.mail.internet.MimeUtility.encodeText((String) v_cc.elementAt(i),"UTF-8", "B").replaceAll(" ", ""));
msg.addRecipients(Message.RecipientType.CC, ccaddress);
}


//System.out.println("-----111111--333----");
for (int i=0; i InternetAddress[] bccaddress = InternetAddress.parse(javax.mail.internet.MimeUtility.encodeText((String) v_bcc.elementAt(i),"UTF-8", "B").replaceAll(" ", ""));
msg.addRecipients(Message.RecipientType.BCC, bccaddress);
}


MimeBodyPart p1 = new MimeBodyPart();
p1.setText(m_text);


Multipart mp = new MimeMultipart();
mp.addBodyPart(p1);


String extractMimePath=extractPath+memo.getNoteID()+"/";
File extractDir2 = new File(extractMimePath);
extractDir2.mkdirs();


MIMEEntity mime = memo.getMIMEEntity();

if (mime != null) {
MimeBodyPart p2 = new MimeBodyPart(mime.getInputStream());
mp.addBodyPart(p2);
} else {
//System.out.println("Body="+m_text);
//System.out.println("Body="+memo.getFirstItem("Body").getType())
body = (RichTextItem) memo.getFirstItem("Body");
Vector v = body.getEmbeddedObjects();
Enumeration e = v.elements();
while (e.hasMoreElements()) {
eo = (EmbeddedObject) e.nextElement();
filename = eo.getName();

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java代理使用 Apache ant实现文件.. 下一篇C语言中结构体参数变量的传递

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: