您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JavaMail使用IMAP读取最近未读的邮件

JavaMail使用IMAP读取最近未读的邮件

这是例子。不要忘记在类路径中添加javax.mail

import javax.mail.*;
import javax.mail.search.FlagTerm;
import java.util.*;

public class GmailFetch {

  public static void main( String[] args ) throws Exception {

    Session session = Session.getDefaultInstance(new Properties( ));
    Store store = session.getStore("imaps");
    store.connect("imap.googlemail.com", 993, "username@gmail.com", "password");
    Folder in@R_458_2419@ = store.getFolder( "IN@R_458_2419@" );
    in@R_458_2419@.open( Folder.READ_ONLY );

    // Fetch unseen messages from in@R_458_2419@ folder
    Message[] messages = in@R_458_2419@.search(
        new FlagTerm(new Flags(Flags.Flag.SEEN), false));

    // Sort messages from recent to oldest
    Arrays.sort( messages, ( m1, m2 ) -> {
      try {
        return m2.getSentDate().compareTo( m1.getSentDate() );
      } catch ( MessagingException e ) {
        throw new RuntimeException( e );
      }
    } );

    for ( Message message : messages ) {
      System.out.println( 
          "sendDate: " + message.getSentDate()
          + " subject:" + message.getSubject() );
    }
  }
}
java 2022/1/1 18:14:12 有481人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶