我有几个.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来获取地址?
最佳, 迈克尔
答案 0 :(得分:2)
第一种方法::可用的getter
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) {
...
}