我尝试阅读电子邮件Internet标头,我们可以在Outlook应用中的电子邮件属性中查看它 我问是否有选项,所以我可以使用此代码来阅读outlook中的电子邮件
Outlook::Application outlook;
if (!outlook.isNull())
{
Outlook::NameSpace session(outlook.Session());
session.Logon();
Outlook::MAPIFolder *folder = session.GetDefaultFolder(Outlook::olFolderInbox);
Outlook::Items* mails = new Outlook::Items(folder->Items());
mails->Sort("ReceivedTime");
int num = mails->Count();
ui->label->setText(QString("I have %1 of messages").arg(QString::number(num)));
// Indexing starts from 1
for (int i = 1; i < num; i++)
{
Outlook::MailItem mail(mails->Item(i));
QString s = mail.Subject(); // do something with subject
QString b = mail.Body(); // do something with body
ui->plainTextEdit->appendPlainText("subject : \n" + s);
ui->plainTextEdit->appendPlainText("Body : " + b);
ui->plainTextEdit->appendPlainText("-----------------------------------------------");
}
}
我检查Outlook :: MailItem是否有一个函数来获取这个Internet标题,但我没有找到,如果有人尝试过它或有任何想法解决这个问题 提前致谢
答案 0 :(得分:2)
您可以通过PR_TRANSPORT_MESSAGE_HEADERS_W属性访问Internet标头。可以通过PropertyAccessor对象检索该属性和其他MAPI属性。请注意,虽然不能通过命名的MAPI属性访问单个x-header,但它们捆绑在邮件头中,因此您需要解析每行文本以查找任何特定的头记录。