Извлечение адресов электронной почты из файла .pst с помощью java-libpst

у меня есть несколько файлов .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() отображает только имена получателей, но не их почтовые адреса. Какой геттер мне нужно использовать для получения адресов?

Лучший, Майкл


person IDontKnow    schedule 08.11.2014    source источник


Ответы (1)


Первый метод:: доступные геттеры

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) {
        ...             
    }
person FoxAlfaBravo    schedule 11.01.2015