用Javamail写的邮件接收程序 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-24
用Javamail写的邮件接收程序时间:2010-03-20前段时间一直忙于学校里面的事情,没有时间静下心来写接收邮件的程序,现在学校里的事情终于忙完了,可以静下心里做自己喜欢做的事情了,这种感觉真的很好! 对我自己而言,刚开始在用JavaMail来编写收邮件的程序时最重要和最难的要数解析附件和邮件正文的部分,因为Mime类型实在是太多了!下面的这段代码是我自己学习JavaMail的一段体会,供大家来参考(请高手指教,有什么更好的办法,请回复此文章),具体代码如下: package coffeecatwebmail; import java.io.*; import java.text.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class PraseMimeMessage{ private MimeMessage mimeMessage = null; private String saveAttachPath = ""; //附件下载后的存放目录 private StringBuffer bodytext = new StringBuffer(); //存放邮件内容的StringBuffer对象 private String dateformat = "yy-MM-dd HH:mm"; //默认的日前显示格式 /** * 构造函数,初始化一个MimeMessage对象 */ public PraseMimeMessage(){} public PraseMimeMessage(MimeMessage mimeMessage){ this.mimeMessage = mimeMessage; System.out.println("create a PraseMimeMessage object........"); } public void setMimeMessage(MimeMessage mimeMessage){ this.mimeMessage = mimeMessage; } /** * 获得发件人的地址和姓名 */ public String getFrom()throws Exception{ InternetAddress address[] = (InternetAddress[])mimeMessage.getFrom(); String from = address[0].getAddress(); if(from == null) from=""; String personal = address[0].getPersonal(); if(personal == null) personal=""; String fromaddr = personal+"<"+from+">"; return fromaddr; } /** * 获得邮件的收件人,抄送,和密送的地址和姓名,根据所传递的参数的不同 * "to"----收件人 "cc"---抄送人地址 "bcc"---密送人地址 */ public String getMailAddress(String type)throws Exception{ String mailaddr = ""; String addtype = type.toUpperCase(); InternetAddress []address = null; if(addtype.equals("TO") || addtype.equals("CC") ||addtype.equals("BCC")){ if(addtype.equals("TO")){ address = (InternetAddress[])mimeMessage.getRecipients(Message.RecipientType.TO); }else if(addtype.equals("CC")){ address = (InternetAddress[])mimeMessage.getRecipients(Message.RecipientType.CC); }else{ address = (InternetAddress[])mimeMessage.getRecipients(Message.RecipientType.BCC); } if(address != null){ for(int i=0;i<address.length;i++){ String email=address[i].getAddress(); if(email==null) email=""; else{ email=MimeUtility.decodeText(email); } String personal=address[i].getPersonal(); if(personal==null) personal=""; else{ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用Javamail写的邮件接收程序 - 编程入门网的所有评论