public static void main(String[] args) throws MessagingException, IOException {
String imapserver = "******"; // 邮件服务器
String user = "*****";
String pwd = "****"; // 根据自已的密码修改
// 获取默认会话
Properties prop = System.getProperties();
prop.put("mail.imap.host",imapserver);
// prop.put("mail.imap.auth.plain.disable","true");
Session mailsession=Session.getInstance(prop,null);
mailsession.setDebug(false); //是否启用debug模式
IMAPFolder folder= null;
IMAPFolder tobedeterminedFolder=null;
IMAPStore store=null;
int total= 0;
try{
store=(IMAPStore)mailsession.getStore("imap"); // 使用imap会话机制,连接服务器
store.connect(imapserver,user,pwd);
folder=(IMAPFolder)store.getFolder("INBOX"); //收件箱
folder.open(Folder.READ_WRITE);
Message[] msgs =folder.getMessages();
//获取总邮件数
total = folder.getMessageCount();
System.out.println("-----------------您的邮箱共有邮件:" + total+" 封--------------");
// 得到收件箱文件夹信息,获取邮件列表
System.out.println("\t收件箱的总邮件数:" + msgs.length);
System.out.println("\t未读邮件数:" + folder.getUnreadMessageCount());
System.out.println("\t新邮件数:" + folder.getNewMessageCount());
System.out.println("----------------End------------------");
//注意下面这里是通过folder.getFolder("folderName");
//用store.getFolder("folderName");我这邮箱测试不通过
//TO-BE-DETERMINED这个文件夹是我自己建立的
//文件夹目录结构如下:
//INOBX
//--Spam
//--Drafts
//--TO-BE-DETERMINED
//--Trash
//--Sent
tobedeterminedFolder= (IMAPFolder) folder.getFolder("TO-BE-DETERMINED");
//只测试移动一封邮件到其他目录
for (Message message2 : msgs) {
System.out.println("message Folder:"+message2.getFolder().getName());
folder.copyMessages(new Message[]{message2}, tobedeterminedFolder);
message2.setFlag(Flags.Flag.DELETED, true);
break;
}
}
catch(MessagingException ex){
ex.printStackTrace();
}finally {
// 释放资源
try{
if(tobedeterminedFolder!=null && tobedeterminedFolder.isOpen()){
tobedeterminedFolder.close(true);
System.out.println("close....");
}
if(folder!=null && folder.isOpen()){
folder.close(true);
}
if (store != null){
store.close();
}
}catch(Exception bs){
bs.printStackTrace();
}
}
}
分享到:
相关推荐
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
4. 将`certs`文件夹移动到JRE的安全目录(如Windows上的`%JAVA_HOME%\jre\lib\security`)。 5. 重启应用,现在系统应该信任邮件服务器的证书。 此外,为了调试邮件发送问题,可以开启JavaMail的日志,通过添加以下...
- 邮件管理:允许用户操作邮件夹(例如创建、删除、移动邮件),以及邮件的标记、归档等。 为了实现这些功能,你需要理解每个协议的工作原理,并熟练使用 JavaMail API 中的类和方法。此外,考虑到用户体验,可能还...
而IMAP则提供了更高级的功能,允许用户在邮件服务器上管理邮件,可以查看、搜索、移动邮件而不必将它们全部下载到本地。 安装JavaMail部分会指导开发者如何将JavaMail库添加到项目中,包括如何获取JavaMail的JAR...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送、接收和管理。它提供了丰富的 API,使得开发者可以...对于更复杂的邮件操作,例如搜索、移动邮件、处理嵌套消息等,可以参考 JavaMail API 文档进行深入学习。
这个例子展示了如何使用JavaMail API通过IMAP协议连接到Exchange 2007并收取邮件的基本流程。在实际项目中,你可能需要根据具体需求进行更复杂的邮件处理,如邮件过滤、邮件移动或删除等操作。同时,确保遵循相关的...
邮件管理:用户可以删除、移动和搜索邮件。 邮件阅读:支持阅读邮件正文及其附件。 邮件分类:支持将邮件分类到不同的文件夹或标签。 用户设置:允许用户配置邮件签名、自动回复等个性化设置。 技术架构 Java:作为...
在实际项目中,除了上述基本功能,还需要考虑异常处理、多线程处理大量邮件、邮件过滤(根据发件人、主题等条件)、邮件删除或移动到其他文件夹等高级功能。此外,对于邮件的加密传输,可能需要使用SSL/TLS协议,...
《基于Javamail的邮件收发系统》是一套完整的软件开发项目,涵盖了从系统设计、理论研究到实际实现的全过程。在这个项目中,开发者利用JavaMail API来构建一个能够发送和接收电子邮件的系统,这在企业级应用、自动化...
5. **管理邮件**:除了发送和接收,JavaMail还允许你操作邮件,例如移动邮件、删除邮件、标记已读/未读等。 在实际开发中,还需要注意一些额外的细节,比如处理异常、确保安全性和性能优化。同时,如果你的应用需要...
JavaMail 是一个开源的Java库,它为Java程序员提供了处理电子邮件的能力,包括发送、接收、...记得在遇到文档无法打开的问题时,可以尝试将文件移动到C盘根目录再尝试打开,这可能是由于某些操作系统对CHM文件的限制。
10. **实战应用**:课程可能还会涵盖如何将 JavaMail 集成到实际项目中,如 web 应用、定时任务服务等,以及如何处理复杂的邮件场景,如邮件模板、邮件队列和批量发送等。 通过学习这个教程,开发者不仅可以掌握 ...
开发者可以使用 `Folder.open()` 方法打开文件夹,然后读取、删除或移动邮件。 8. **Authentication**:JavaMail 支持各种认证机制,如 PLAIN、LOGIN、CRAM-MD5 和 DIGEST-MD5 等,以确保安全地连接到邮件服务器。 ...
9. **邮件搜索和管理**:JavaMail提供接口来搜索邮件,如按日期、标签等条件查找,以及对邮件进行标记、移动、删除等操作。 10. **事件监听**:JavaMail允许添加监听器来跟踪邮件状态的变化,例如新邮件到达时的...
9. **POP3 和 IMAP 协议**: POP3(Post Office Protocol version 3)协议主要用于下载邮件,而IMAP(Internet Message Access Protocol)允许用户在邮件服务器上管理邮件,例如标记为已读、移动邮件等。 10. **SSL/...
JavaMail 是一个开源的Java库,它为Java开发者提供了一套API来处理电子邮件。这个库不仅支持SMTP(简单邮件传输协议)、POP3...无论是在企业级应用、Web服务还是移动应用中,JavaMail都是处理电子邮件任务的理想选择。
JavaMail库还支持许多高级特性,例如SSL/TLS加密、OAuth2认证、邮件搜索、邮件移动、邮件标记等,这使得JavaMail成为Java平台上进行邮件通信的强大工具。开发者可以根据具体需求选择相应的API来实现相应的功能。同时...
3. 邮件管理模块:包括写信、读信、删除、移动邮件等功能,提供友好的用户界面。 4. 安全性模块:系统应具备加密通信、防止垃圾邮件等安全措施。 二、Javamail技术应用 JavaMail API提供了丰富的类和接口,使得在...
POP3(Post Office Protocol version 3)通常用于下载邮件,而 IMAP(Internet Message Access Protocol)则允许在服务器上管理邮件,比如标记已读、移动邮件到其他文件夹等操作。 总的来说,JavaMail-1.4.4 是一个...
通过`IMAPStore`类,开发者可以实现更复杂的邮件管理功能,如标记已读/未读、移动邮件到不同文件夹等。 在实际开发中,除了基础的邮件发送和接收,JavaMail还涉及到认证机制、SSL/TLS安全连接、邮件搜索、邮件过滤...