電子メールメーリングリストを取得するための Java クライアント IMQP プロトコル

  • 認証パスワードを取得する

Javaクライアントはメールサーバーと通信する際にメールサーバーの認証コードを取得する必要がありますが、ここではqqメールボックスを例に認証コードの取得方法を説明します。

QQ メールボックスにログインした後、ホームページで [設定] をクリックし
ここに画像の説明を挿入します
、[アカウント] をクリックします。

ここに画像の説明を挿入します

クリックして認証コードを生成します

ここに画像の説明を挿入します

SMS 認証コードを送信すると、最新の認証コードを取得できます

ここに画像の説明を挿入します

クライアントプログラムコードの実装

受信トレイのリストを取得するには、現時点では imqp プロトコルを使用する必要があります。ここでは、qq サーバーの imqp プロトコルのアドレス、送信メール アドレス、送信メール アドレスの認証コードを知る必要があります。
プログラムコードは次のとおりです。

public class ReadUnreadEmails {
    
    


    static String code = "授权码";
    static String username = "qq邮箱";

    public static void main(String[] args) throws Exception {
    
    
        // QQ邮箱授权码
        String authCode = code;

        // QQ邮箱服务器地址和端口号
        String host = "imap.qq.com";

        // 获取Session对象
        Properties props = new Properties();
        props.put("mail.store.protocol", "imaps");
        Session session = Session.getInstance(props, null);

        // 连接到QQ邮箱服务器
        Store store = session.getStore("imaps");
        store.connect(host, username, code);

        // 打开收件箱文件夹
        Folder inbox = store.getFolder("INBOX");
        inbox.open(Folder.READ_ONLY);
        Message[] messages = inbox.getMessages();
        System.out.println("未读邮件数量:" + messages.length);
        for (Message message : messages) {
    
    
            System.out.println("Subject: " + message.getSubject());
            System.out.println("From: " + message.getFrom()[0]);
            System.out.println("Date: " + message.getSentDate());
            System.out.println("==========");
        }

        // 关闭收件箱文件夹和连接到QQ邮箱服务器的连接
        inbox.close(false);
        store.close();
    }
}

ここで取得されるのはすべてのメーリング リストですが、その日の受信リストのみを取得したい場合は、次のコードを使用できます。

public class ReadUnreadEmails {
    
    


    static String code = "授权码";
    static String username = "qq邮箱";

    public static void main(String[] args) throws Exception {
    
    
        // QQ邮箱授权码
        String authCode = code;

        // QQ邮箱服务器地址和端口号
        String host = "imap.qq.com";

        // 获取Session对象
        Properties props = new Properties();
        props.put("mail.store.protocol", "imaps");
        Session session = Session.getInstance(props, null);

        // 连接到QQ邮箱服务器
        Store store = session.getStore("imaps");
        store.connect(host, username, code);

        // 打开收件箱文件夹
        Folder inbox = store.getFolder("INBOX");
        inbox.open(Folder.READ_ONLY);
      
      	SearchTerm searchTerm = new ReceivedDateTerm(ComparisonTerm.GT, new Date());
        Message[] messages = inbox.search(searchTerm);
      
        System.out.println("未读邮件数量:" + messages.length);
        for (Message message : messages) {
    
    
            System.out.println("Subject: " + message.getSubject());
            System.out.println("From: " + message.getFrom()[0]);
            System.out.println("Date: " + message.getSentDate());
            System.out.println("==========");
        }

        // 关闭收件箱文件夹和连接到QQ邮箱服务器的连接
        inbox.close(false);
        store.close();
    }
}

おすすめ

転載: blog.csdn.net/qq_43750656/article/details/131829100