3

Java コードを使用して、Outlook の受信トレイから件名、メッセージを読み取る必要があります。同じサンプルコード/アイデアはありますか?同じものを手に入れるのを手伝ってください。

StackOverflow で検索すると、C# のコードが表示されます。

また、Javamail で確認しましたが、Outlook については何も見つかりませんでした。

4

3 に答える 3

1

これが私がやった方法です。

   /**
 * Connects to email server with credentials provided to read from a given
 * folder of the email application
 * 
 * @param username Email username (e.g. janedoe@email.com)
 * @param password Email password
 * @param server   Email server (e.g. smtp.email.com)
 * @param INBOX    Folder in email application to interact with
 * @throws Exception
 */
    public OutlookEmail() throws Exception {
    Properties props = System.getProperties();
    props.setProperty("mail.store.protocol", "imap");
    props.setProperty("mail.imap.ssl.enable", "true");
    props.setProperty("mail.imaps.partialfetch", "false");
    props.put("mail.mime.base64.ignoreerrors", "true");

    Session mailSession = Session.getInstance(props);
    mailSession.setDebug(true);
    Store store = mailSession.getStore("imap");
    store.connect("outlook.office365.com", "YOUREMAILADDRESS", "YOUR PASSWORD");


    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_ONLY);

    System.out.println("Total Message:" + folder.getMessageCount());
    System.out.println("Unread Message:" + folder.getUnreadMessageCount());

    messages = folder.getMessages();

    for (Message mail : messages) {         



            System.out.println("*********************************");
            System.out.println("MESSAGE : \n");

            System.out.println("Subject: " + mail.getSubject());
            System.out.println("From: " + mail.getFrom()[0]);
            System.out.println("To: " + mail.getAllRecipients()[0]);
            System.out.println("Date: " + mail.getReceivedDate());
            System.out.println("Size: " + mail.getSize());
            System.out.println("Flags: " + mail.getFlags());
            System.out.println("ContentType: " + mail.getContentType());
            System.out.println("Body: \n" + getEmailBody(mail));    
            System.out.println("*******************************");          

    }
}

**構成から読み取り、クレデンシャル、uname、pwd を引数として渡し、マスクします。

于 2019-09-09T18:22:40.897 に答える
0

Java を使用して .pst ファイルを読みたい場合は、適切なオプションではない可能性があります。サーバーの詳細がある場合は、サーバーから直接メールを取得する方が理にかなっています。

Google からこのリンクを取得しました - 「pst ファイルを読み込んでいます」。

于 2012-09-18T18:31:27.843 に答える
0

「Outlook の受信トレイ」とは、Outlook がローカル コンピューターに保存するデータのことですか? それとも、リモート メール サーバー (おそらく Exchange) の受信トレイ メール フォルダー内のデータのことですか? 後者の場合、JavaMail を使用してそれを行うことができますが、IMAP アクセスを許可するように Exchange サーバーを構成する必要があります。

于 2012-09-18T18:59:51.420 に答える