3

いくつかの .pst ファイルがあり、すべてのメール アドレスが必要です。メールの送信先です。ライブラリのサンプル コードでは、ファイル内のすべてのメールをトラバースできますが、受信者のメール アドレスを抽出する適切なゲッターが見つかりません。

すべてのメールをトラバースするには、次のサイトのコードを使用します: https://code.google.com/p/java-libpst/

PSTMessage email = (PSTMessage) folder.getNextChild();
while (email != null) {
    printDepth();
    System.out.println("Email: " + email.getSubject());
    printDepth();
    System.out.println("Adress: " + email.getDisplayTo());
    email = (PSTMessage) folder.getNextChild();
}

getDisplayTo() メソッドは、受信者の名前のみを表示し、メール アドレスは表示しません。アドレスを取得するには、どの getter を使用する必要がありますか?

ベスト、マイケル

4

1 に答える 1

2

最初の方法 ::利用可能なゲッター

getSenderEmailAddress
getNumberOfRecipients
getRecipient(int)

2 番目の方法:ヘッダーを解析し、メール アドレスを収集します (a_sHeader は文字列です)。

    Session s = Session.getDefaultInstance(new Properties());
    InputStream is = new ByteArrayInputStream(a_sHeader.getBytes());
    try {
        m_message = new MimeMessage(s, is);

        m_message.getAllHeaderLines();
        for (Enumeration<Header> e = m_message.getAllHeaders(); e.hasMoreElements();) {
            Header h = e.nextElement();
            // Recipients
            if (h.getName().equalsIgnoreCase(getHeaderName(RecipientType.REC_TYPE_TO))) {
                m_RecipientsTo = processAddresses(h.getValue());
            }
            ...             
        }
    } catch (MessagingException e1) {
        ...             
    }
于 2015-01-11T10:54:37.327 に答える