readmail.java

来自「精通java核心技术》随书源代码」· Java 代码 · 共 79 行

JAVA
79
字号
// ==================== Program Discription ==========================
// 程序名称:示例19-2: ReadMail.java
// 程序目的:获取邮件信息
// ==============================================================
import java.util.* ;
import java.io.* ;
import javax.mail.* ;
import javax.mail.internet.* ;
import javax.activation.* ;

public class ReadMail
{
  String smtphost;
  String smtpuser;
  String smtppassword;

  /**
   ** 用于设置邮件SMTP转发服务器
   */
  public void setSmtphost(String inString){
    smtphost=inString;
  }

  /**
   ** 用于返回邮件SMTP转发的用户密码
   */
  public void setSmtpuser(String inString){
    smtpuser=inString;
  }

  /**
   ** 用于设置邮件SMTP转发的用户密码
   */
  public void setSmtppassword(String inString){
    smtppassword=inString;
  }

  /**
   ** 获取邮件消息
   */
  public void getMail() throws IOException,NoSuchProviderException,MessagingException
  {
  	//Create empty properties
    Properties props = new Properties();

    //Get session
    Session session = Session.getDefaultInstance(props, null);

    //Get the store
    Store store = session.getStore("pop3");
    store.connect(smtphost, smtpuser, smtppassword);

    //Get folder
    Folder folder = store.getFolder("inbox");
    folder.open(Folder.READ_ONLY);

    //Get directory
    Message message[] = folder.getMessages();

    for (int i=0, n=message.length; i<n; i++) {
       System.out.println(i + ": " + message[i].getFrom()[0] );
       System.out.println( message[i].getSubject());
       message[i].writeTo(System.out);
    }

    //Close connection
    folder.close(false);
    store.close();
  }

  public static void main(String[] args) throws IOException,NoSuchProviderException,MessagingException{
    ReadMail mymail = new ReadMail ();
    mymail.setSmtphost(args[0]);
    mymail.setSmtpuser(args[1]);
    mymail.setSmtppassword(args[2]);
    mymail.getMail() ;
  }
}

⌨️ 快捷键说明

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