package com.email.receive;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import java.io.*;
/*
Title: 使用JavaMail接收邮件
Description: 实例JavaMail包接收邮件,本实例没有实现接收邮件的附件。
Copyright: Copyright (c) 2003
Filename: POPMail.java
@version 1.0
*/
public class ReceiveEmail{
/*
方法说明:主方法,接收用户输入的邮箱服务器、用户名和密码
输入参数:
返回类型:
*/
public static void main(String args[]){
try{
String popServer="pop3.sina.com"; //邮件服务器
String popUser="user"; //根据自已的用户名修改
String popPassword="pass"; //根据自已的密码修改
receive(popServer, popUser, popPassword);
}catch (Exception ex){
System.out.println("Usage: java com.lotontech.mail.POPMail"+" popServer popUser popPassword");
}
System.exit(0);
}
/*
方法说明:接收邮件信息
输入参数:
返回类型:*/
public static void receive(String popServer, String popUser, String popPassword){
Store store=null;
Folder folder=null;
try{
//获取默认会话
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props, null);
//使用POP3会话机制,连接服务器
store = session.getStore("pop3");
store.connect(popServer, popUser, popPassword);
//获取默认文件夹
folder = store.getDefaultFolder();
if (folder == null) throw new Exception("No default folder");
//如果是收件箱
folder = folder.getFolder("INBOX");
if (folder == null) throw new Exception("No POP3 INBOX");
//使用只读方式打开收件箱
folder.open(Folder.READ_ONLY);
//得到文件夹信息,获取邮件列表
Message[] msgs = folder.getMessages();
for (int msgNum = 0; msgNum < msgs.length; msgNum++){
printMessage(msgs[msgNum]);
}
}catch (Exception ex){
ex.printStackTrace();
}
finally{
//释放资源
try{
if (folder!=null) folder.close(false);
if (store!=null) store.close();
}catch (Exception ex2) {
ex2.printStackTrace();
}
}
}
/*
方法说明:打印邮件信息
输入参数:Message message 信息对象
返回类型:
*/
public static void printMessage(Message message){
try{
//获得发送邮件地址
String from=((InternetAddress)message.getFrom()[0]).getPersonal();
if (from==null) from=((InternetAddress)message.getFrom()[0]).getAddress();
System.out.println("FROM: "+from);
//获取主题
String subject=message.getSubject();
System.out.println("SUBJECT: "+subject);
//获取信息对象
Part messagePart=message;
Object content=messagePart.getContent();
//附件
if (content instanceof Multipart){
messagePart=((Multipart)content).getBodyPart(0);
System.out.println("[ Multipart Message ]");
}
//获取content类型
String contentType=messagePart.getContentType();
//如果邮件内容是纯文本或者是HTML,那么打印出信息
System.out.println("CONTENT:"+contentType);
if (contentType.startsWith("text/plain")||
contentType.startsWith("text/html")){
InputStream is = messagePart.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
String thisLine=reader.readLine();
while (thisLine!=null){
System.out.println(thisLine);
thisLine=reader.readLine();
}
}
System.out.println("-------------- END ---------------");
}catch (Exception ex){
ex.printStackTrace();
}
}
}
分享到:
相关推荐
JAVA100例之实例48 使用JavaMail接收邮件
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
基于javamail的接收邮件示例!!!可以作为参考!!!
NULL 博文链接:https://zhaoshijie.iteye.com/blog/804788
javamail接收邮件例子,我稍微改动了一下,有些错误和异常抛出了
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
很好的邮件处理代码,1.5版本,作为build path放在eclipse里面,就可以用啦! oracle官方推的,很好!jdk1.6版本以上用起来很方便。
新邮件功能没实现新邮件功能没实现新邮件功能没实现新邮件功能没实现
它能实现邮件的接收与发送,并能完成附件的传输,具有较好的人机交互性,易于使用。 开发环境:JDK1.6 + Windows平台 开发技术:Javamail 开发工具:Eclipse3.4 运行环境:PC上需安装JDK1.6,且正确配置环境变量。 ...
基于javamail1.4实现邮件发送,支持多收件人、抄送人、多附件等
javamail 实例 获取pop3或者imap方式获取邮件信息,配置运行MailHelper即可.
javamail smtp imap收发电子邮件,发送附件,联系人管理!
POP(邮局协议)是专门用于接收邮件的。JavaMail API是一种可选的、能用于读取、编写和发送电子消息的标准扩展包。 本文主要可分为四个部分。第一部分介绍了Javamail邮件系统的意义和现状。第二部分具体介绍了几种...
javamail发送、接收邮件详细教程
对javaMail发送邮件进行了详细的说明,具体代码可以实现相应功能;同时对接收邮箱进行了测试连接。
基于Javamail的邮件收发系统(系统+文档+开题报告+任务书+外文翻译+文献综述+答辩PPT).zip
可以利用JavaMail收发Gmail邮件,ssl;写得比较详细,
基于JavaMail的邮件收发系统是一种用于发送和接收电子邮件的应用程序,它基于JavaMail API来实现与邮件服务器的通信,并提供用户界面来进行邮件的管理和操作。以下是对该系统实现的描述: 用户界面: 系统提供了...
纯java发送简单邮件的功能,支持嘱性文件的配置,可配多人接收,多个附件,简单。。。
基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT).rar