使用Java-libpst从.pst文件中提取电子邮件地址

3
我有几个.pst文件,需要获取我发送邮件给的所有邮件地址。这个库的示例代码允许我遍历文件中的每一个邮件,但我找不到正确的getter来提取收件人的邮件地址。
为了遍历每封邮件,我使用了这个网站上的代码: 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来获取地址?

最好的, 迈克尔

1个回答

2

第一种方法::可用的获取器

getSenderEmailAddress
getNumberOfRecipients
getRecipient(int)

第二种方法:解析标题并收集电子邮件地址(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) {
        ...             
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接