[JAVA100例]048、使用JavaMail接收邮件(java100例)
2005-08-18 15:12
441 查看
[JAVA100例]048、使用JavaMail接收邮件(java100例) |
import javax.mail.*; import javax.mail.internet.*; import java.util.*; import java.io.*; /** * <p>Title: 使用JavaMail接收邮件</p> * <p>Description: 实例JavaMail包接收邮件,本实例没有实现接收邮件的附件。</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: POPMail.java</p> * @version 1.0 */ public class POPMail{ /** *<br>方法说明:主方法,接收用户输入的邮箱服务器、用户名和密码 *<br>输入参数: *<br>返回类型: */ public static void main(String args[]){ try{ String popServer=args[0]; String popUser=args[1]; String popPassword=args[2]; receive(popServer, popUser, popPassword); }catch (Exception ex){ System.out.println("Usage: java com.lotontech.mail.POPMail"+" popServer popUser popPassword"); } System.exit(0); } /** *<br>方法说明:接收邮件信息 *<br>输入参数: *<br>返回类型: */ 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(); } } } /** *<br>方法说明:打印邮件信息 *<br>输入参数:Message message 信息对象 *<br>返回类型: */ 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例]048、使用JavaMail接收邮件
- [JAVA100例]048、使用JavaMail接收邮件
- [JAVA100例]047、使用JavaMail发送邮件
- [JAVA100例]046、使用SMTP协议接收邮件(java100例)
- Java使用JavaMail API发送和接收邮件的代码示例
- Android Java使用JavaMail API发送和接收邮件的代码示例
- 关于Java Web 使用JavaMail创建邮件和发送邮件
- JAVA邮件发送的简单实现,使用javamail通过smtp协议发信
- JAVA 使用JavaMail发送邮件(mail.jar和activtion.jar)
- 怎么样使用JavaMail发送和接收邮件
- 使用javaMail来发送和接收带附件的邮件
- Java中使用JavaMail多发邮件及邮件的验证和附件实现
- java 使用javamail发送邮件
- 使用JavaMail接收邮件
- 使用JavaMail的Java邮件发送
- 在Domino中使用Java系列实例1--在Lotus Domino中使用JavaMail实现高效外发邮件
- Java程序中使用JavaMail发送带图片和附件的邮件
- java 使用JavaMail 做异常邮件报警 ,支持163邮箱、outlook邮箱
- 使用javaMail接收邮件(较全)
- Android使用UncaughtExceptionHandler捕获全局异常 android获取手机信息大全Java追加文件内容使用JavaMail发送邮件OkHttp获取系统时间