I try to read an email Internet headers that we can view it in email properties in outlook app I ask if there is an option so I can get this I use this code to read the emails in 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("-----------------------------------------------");
}
}
and I was check the Outlook::MailItem for a function to get this Internet header but I not found so if any one try it before or have any idea to solve this Thanks in advance
You can access the Internet headers via the PR_TRANSPORT_MESSAGE_HEADERS_W property. That property and other MAPI properties are retrievable via the PropertyAccessor object. Note though that individual x-headers are not accessible via a named MAPI property, they are bundled within the message headers so you'll need to parse every line of text to find any particular header record.