Qt 如何在outlook中阅读Internet标题和电子邮件
我试图阅读一封电子邮件的互联网标题,我们可以在outlook应用程序的电子邮件属性中查看它 我问是否有一个选项,所以我可以得到这个我使用此代码阅读outlook中的电子邮件Qt 如何在outlook中阅读Internet标题和电子邮件,qt,email,outlook,qt5.8,qaxobject,Qt,Email,Outlook,Qt5.8,Qaxobject,我试图阅读一封电子邮件的互联网标题,我们可以在outlook应用程序的电子邮件属性中查看它 我问是否有一个选项,所以我可以得到这个我使用此代码阅读outlook中的电子邮件 Outlook::Application outlook; if (!outlook.isNull()) { Outlook::NameSpace session(outlook.Session()); session.Logon(); Outlook::MAPIFolder *folder = se
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::应用程序Outlook;
如果(!outlook.isNull())
{
Outlook::命名空间会话(Outlook.session());
session.Logon();
Outlook::MAPIFolder*folder=session.GetDefaultFolder(Outlook::olFolderInbox);
Outlook::Items*Mail=新建Outlook::Items(文件夹->项目());
邮件->排序(“接收时间”);
int num=邮件->计数();
ui->label->setText(QString(“我有%1条消息”).arg(QString::number(num));
//索引从1开始
for(int i=1;i项目(i));
QString s=mail.Subject();//对Subject做些什么
QString b=mail.Body();//对Body执行某些操作
用户界面->明文编辑->追加明文(“主题:\n”+s);
用户界面->明文编辑->追加明文(“正文:+b”);
用户界面->明文编辑->追加明文(----------------------------------------------------);
}
}
我在Outlook::MailItem中查看了一个函数来获取这个Internet头,但是如果有人之前尝试过或者有任何想法来解决这个问题,我都没有找到
提前感谢您可以通过PR_TRANSPORT_MESSAGE_headers_W属性访问Internet标头。可以通过对象检索该属性和其他MAPI属性。请注意,尽管无法通过命名的MAPI属性访问单个x-header,但它们被捆绑在邮件标题中,因此您需要分析每行文本以查找任何特定的标题记录。您可以通过PR\u TRANSPORT\u message\u headers\W属性访问Internet标题。可以通过对象检索该属性和其他MAPI属性。请注意,虽然无法通过命名的MAPI属性访问单个x-header,但它们被捆绑在邮件标题中,因此您需要分析每行文本以查找任何特定的标题记录。我从Outlook::MailItem创建PropertyAccessor对象我应该做什么,然后尝试使用GetProperty(“PR_TRANSPORT_message_headers_W”)但是它给了我无效的QVarint抱歉,请使用该属性的DASL名称:.GetProperty(“)请您将完整的代码部分添加到您的答案中,谢谢我尝试的内容:Outlook::PropertyAccessor*acc=mail.PropertyAccessor();QVariant var=acc->GetProperty(“schemas.microsoft.com/mapi/proptag/0x007D001F”);我遇到以下错误:QAxBase:调用IDispatch成员GetProperty时出错:未知错误我从Outlook::MailItem创建PropertyAccessor对象,然后我应该怎么做?我尝试使用GetProperty(“PR_TRANSPORT_MESSAGE_HEADERS_W”),但它给了我无效的QVarint抱歉,请使用该属性的DASL名称:.GetProperty()请将代码的完整部分添加到您的答案中,谢谢我的尝试:Outlook::PropertyAccessor*acc=mail.PropertyAccessor();QVariant var=acc->GetProperty(“schemas.microsoft.com/mapi/proptag/0x007D001F”);我遇到以下错误:QAxBase:调用IDispatch成员GetProperty时出错:未知错误我有3个outlook配置文件(3个不同的电子邮件帐户)设置。那么,如何选择使用哪个个人资料(帐户)的收件箱呢?我有3个outlook个人资料(3个不同的电子邮件帐户)设置。那么,如何选择要使用的配置文件(帐户)收件箱呢?