⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mailfetch.java

📁 短信发送
💻 JAVA
字号:
/**
 * @CreatedDate Nov 4, 2008
 */
package com.jdev.mail;

import java.io.UnsupportedEncodingException;      
import java.security.*;      
import java.util.Properties;      
import javax.mail.*;      
import javax.mail.internet.InternetAddress;      
import javax.mail.internet.MimeUtility;      


/**
 * @author Lawrence
 *
 */
public class MailFetch {

	/**
	 * @param argv
	 */
	 public static void main(String argv[]) throws Exception {      
	     
		  Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());      
//		  final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";      
		     
		  // Get a Properties object      
		  Properties props = System.getProperties();      
//		  props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);      
//		  props.setProperty("mail.pop3.socketFactory.fallback", "false");      
//		  props.setProperty("mail.pop3.port", "995");      
//		  props.setProperty("mail.pop3.socketFactory.port", "995");      
		       
		  //以下步骤跟一般的JavaMail操作相同      
//		  Session session = Session.getDefaultInstance(props,null);      
		  final String username = "vma";      
		  final String password = "jelin1226";      
		  Session session = Session.getDefaultInstance(props, new Authenticator(){      
		      protected PasswordAuthentication getPasswordAuthentication() {      
		          return new PasswordAuthentication(username, password);      
		      }});      
		     
		  //请将红色部分对应替换成你的邮箱帐号和密码      
		  URLName urln = new URLName("pop3","pop.china.com",110,null,      
		    "vma@china.com", "jelin1226");      
		  Store store = session.getStore(urln);      
		  Folder inbox = null;      
		  try {      
		   store.connect();      
		   inbox = store.getFolder("INBOX");      
		   inbox.open(Folder.READ_ONLY);      
		   FetchProfile profile = new FetchProfile();      
		   profile.add(FetchProfile.Item.ENVELOPE);      
		   Message[] messages = inbox.getMessages();      
		   inbox.fetch(messages, profile);      
		   System.out.println("收件箱的邮件数:" + messages.length);      
		   for (int i = 0; i < messages.length; i++) {      
		    //邮件发送者      
		    String from = decodeText(messages[i].getFrom()[0].toString());      
		    InternetAddress ia = new InternetAddress(from);      
		    System.out.println("FROM:" + ia.getPersonal()+'('+ia.getAddress()+')');      
		    //邮件标题      
		    System.out.println("TITLE:" + messages[i].getSubject());      
		    //邮件大小      
		    System.out.println("SIZE:" + messages[i].getSize());      
		    //邮件发送时间      
		    System.out.println("DATE:" + messages[i].getSentDate());      
		   }      
		  } finally {      
		   try {      
		    inbox.close(false);      
		   } catch (Exception e) {}      
		   try {      
		    store.close();      
		   } catch (Exception e) {}     
		   System.exit(0);
		  }      
	 }
	 
	 protected static String decodeText(String text)      
	   throws UnsupportedEncodingException {      
	  if (text == null)      
	   return null;      
	  if (text.startsWith("=?GB") || text.startsWith("=?gb"))      
	   text = MimeUtility.decodeText(text);      
	  else     
	   text = new String(text.getBytes("ISO8859_1"));      
	  return text;    
	 }     

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -