ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:24.01KB ,
资源ID:7902239      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7902239.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(javamail实现大全.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

javamail实现大全.docx

1、javamail实现大全javamail实现大全package org.mail.core; import java.io.*; import java.text.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class ReceiveMail private MimeMessage mimeMessage = null; private String saveAttachPath = ; / 附件下载后的存放目录 private StringBuffer bodytext =

2、new StringBuffer(); / 存放邮件内容的StringBuffer对象 private String dateformat = yy-MM-dd HH:mm; / 默认的日前显示格式 /* * 构造函数,初始化一个MimeMessage对象 */ public ReceiveMail() public ReceiveMail(MimeMessage mimeMessage) this.mimeMessage = mimeMessage; System.out.println(create a ReceiveMail object.); public void setMimeMe

3、ssage(MimeMessage mimeMessage) this.mimeMessage = mimeMessage; /* * * 获得发件人的地址和姓名 */ public String getFrom() throws Exception InternetAddress address = (InternetAddress) mimeMessage.getFrom(); String from = address0.getAddress(); if (from = null) from = ; String personal = address0.getPersonal(); if

4、 (personal = null) personal = ; String fromaddr = personal + ; return fromaddr; /* * * 获得邮件的收件人,抄送,和密送的地址和姓名,根据所传递的参数的不同 * to-收件人 cc-抄送人地址 * bcc-密送人地址 */ public String getMailAddress(String type) throws Exception String mailaddr = ; String addtype = type.toUpperCase(); InternetAddress address = null

5、; 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 = (I

6、nternetAddress) mimeMessage .getRecipients(Message.RecipientType.BCC); if (address != null) for (int i = 0; i address.length; i+) String email = addressi.getAddress(); if (email = null) email = ; else email = MimeUtility.decodeText(email); String personal = addressi.getPersonal(); if (personal = nul

7、l) personal = ; else personal = MimeUtility.decodeText(personal); String compositeto = personal + ; mailaddr += , + compositeto; mailaddr = mailaddr.substring(1); else throw new Exception(Error emailaddr type!); return mailaddr; /* * * 获得邮件主题 */ public String getSubject() throws MessagingException S

8、tring subject = ; try subject = MimeUtility.decodeText(mimeMessage.getSubject(); if (subject = null) subject = ; catch (Exception exce) return subject; /* * * 获得邮件发送日期 */ public String getSentDate() throws Exception Date sentdate = mimeMessage.getSentDate(); SimpleDateFormat format = new SimpleDateF

9、ormat(dateformat); return format.format(sentdate); /* * * 获得邮件正文内容 */ public String getBodyText() return bodytext.toString(); /* * * 解析邮件,把得到的邮件内容保存到一个StringBuffer对象中,解析邮件 * * 主要是根据MimeType类型的不同执行不同的操作,一步一步的解析 */ public void getMailContent(Part part) throws Exception String contenttype = part.getCon

10、tentType(); int nameindex = contenttype.indexOf(name); boolean conname = false; if (nameindex != -1) conname = true; System.out.println(CONTENTTYPE: + contenttype); if (part.isMimeType(text/plain) & !conname) bodytext.append(String) part.getContent(); else if (part.isMimeType(text/html) & !conname)

11、bodytext.append(String) part.getContent(); else if (part.isMimeType(multipart/*) Multipart multipart = (Multipart) part.getContent(); int counts = multipart.getCount(); for (int i = 0; i counts; i+) getMailContent(multipart.getBodyPart(i); else if (part.isMimeType(message/rfc822) getMailContent(Part

12、) part.getContent(); else /* * * 判断此邮件是否需要回执,如果需要回执返回true,否则返回false */ public boolean getReplySign() throws MessagingException boolean replysign = false; String needreply = mimeMessage .getHeader(Disposition-Notification-To); if (needreply != null) replysign = true; return replysign; /* * * 获得此邮件的Me

13、ssage-ID */ public String getMessageId() throws MessagingException return mimeMessage.getMessageID(); /* * * 【判断此邮件是否已读,如果未读返回返回false,反之返回true】 */ public boolean isNew() throws MessagingException boolean isnew = false; Flags flags = (Message) mimeMessage).getFlags(); Flags.Flag flag = flags.getSyste

14、mFlags(); System.out.println(flagss length: + flag.length); for (int i = 0; i flag.length; i+) if (flagi = Flags.Flag.SEEN) isnew = true; System.out.println(seen Message.); break; return isnew; /* * * 判断此邮件是否包含附件 */ public boolean isContainAttach(Part part) throws Exception boolean attachflag = fals

15、e; String contentType = part.getContentType(); if (part.isMimeType(multipart/*) Multipart mp = (Multipart) part.getContent(); for (int i = 0; i mp.getCount(); i+) BodyPart mpart = mp.getBodyPart(i); String disposition = mpart.getDisposition(); if (disposition != null) & (disposition.equals(Part.ATTA

16、CHMENT) | (disposition .equals(Part.INLINE) attachflag = true; else if (mpart.isMimeType(multipart/*) attachflag = isContainAttach(Part) mpart); else String contype = mpart.getContentType(); if (contype.toLowerCase().indexOf(application) != -1) attachflag = true; if (contype.toLowerCase().indexOf(na

17、me) != -1) attachflag = true; else if (part.isMimeType(message/rfc822) attachflag = isContainAttach(Part) part.getContent(); return attachflag; /* * * 【保存附件】 */ public void saveAttachMent(Part part) throws Exception String fileName = ; if (part.isMimeType(multipart/*) Multipart mp = (Multipart) part

18、.getContent(); for (int i = 0; i mp.getCount(); i+) BodyPart mpart = mp.getBodyPart(i); String disposition = mpart.getDisposition(); if (disposition != null) & (disposition.equals(Part.ATTACHMENT) | (disposition .equals(Part.INLINE) fileName = mpart.getFileName(); if (fileName.toLowerCase().indexOf(

19、gb2312) != -1) fileName = MimeUtility.decodeText(fileName); saveFile(fileName, mpart.getInputStream(); else if (mpart.isMimeType(multipart/*) saveAttachMent(mpart); else fileName = mpart.getFileName(); if (fileName != null) & (fileName.toLowerCase().indexOf(GB2312) != -1) fileName = MimeUtility.deco

20、deText(fileName); saveFile(fileName, mpart.getInputStream(); else if (part.isMimeType(message/rfc822) saveAttachMent(Part) part.getContent(); /* * * 【设置附件存放路径】 */ public void setAttachPath(String attachpath) this.saveAttachPath = attachpath; /* * * 【设置日期显示格式】 */ public void setDateFormat(String form

21、at) throws Exception this.dateformat = format; /* * * 【获得附件存放路径】 */ public String getAttachPath() return saveAttachPath; /* * * 【真正的保存附件到指定目录里】 */ private void saveFile(String fileName, InputStream in) throws Exception String osName = System.getProperty(os.name); String storedir = getAttachPath(); S

22、tring separator = ; if (osName = null) osName = ; if (osName.toLowerCase().indexOf(win) != -1) separator = ; if (storedir = null | storedir.equals() storedir = c:tmp; else separator = /; storedir = /tmp; File storefile = new File(storedir + separator + fileName); System.out.println(storefiles path:

23、+ storefile.toString(); / for(int i=0;storefile.exists();i+) / storefile = new File(storedir+separator+fileName+i); / BufferedOutputStream bos = null; BufferedInputStream bis = null; try bos = new BufferedOutputStream(new FileOutputStream(storefile); bis = new BufferedInputStream(in); int c; while (

24、c = bis.read() != -1) bos.write(c); bos.flush(); catch (Exception exception) exception.printStackTrace(); throw new Exception(文件保存失败!); finally bos.close(); bis.close(); /* * * ReceiveMail类测试 */ public static void main(String args) throws Exception String host = ; String username = demo;/您的邮箱用户名 Str

25、ing password = *;/您的邮箱密码 Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); Store store = session.getStore(pop3); store.connect(host, username, password); Folder folder = store.getFolder(INBOX); folder.open(Folder.READ_ONLY); Message message = folder.getM

26、essages(); System.out.println(Messagess length: + message.length); ReceiveMail pmm = null; for (int i = 0; i message.length; i+) pmm = new ReceiveMail(MimeMessage) messagei); System.out .println(Message + i + subject: + pmm.getSubject(); System.out.println(Message + i + sentdate: + pmm.getSentDate()

27、; System.out.println(Message + i + replysign: + pmm.getReplySign(); System.out.println(Message + i + hasRead: + pmm.isNew(); System.out.println(Message + i + containAttachment: + pmm.isContainAttach(Part) messagei); System.out.println(Message + i + form: + pmm.getFrom(); System.out.println(Message + i + to: + pmm.getMailAddress(to); System.out.println(Message + i + cc: + pmm.getMailAddress(cc); System.out.println(Message + i + bcc: + pmm.getMailAddress(bcc); pmm.setD

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1