如何在 Outlook 中读取 Internet 标题和电子邮件

Posted

技术标签:

【中文标题】如何在 Outlook 中读取 Internet 标题和电子邮件【英文标题】:How to read Internet header of and email in outlook 【发布时间】:2017-03-11 19:20:26 【问题描述】:

我尝试阅读电子邮件 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 标头的功能,但我没有找到,所以如果有人之前尝试过或有任何解决此问题的想法 提前致谢

【问题讨论】:

我设置了 3 个 Outlook 配置文件(3 个不同的电子邮件帐户)。那么如何选择使用哪个配置文件(帐户)的收件箱? 【参考方案1】:

您可以通过 PR_TRANSPORT_MESSAGE_HEADERS_W 属性访问 Internet 标头。该属性和其他 MAPI 属性可通过 PropertyAccessor 对象检索。请注意,虽然单个 x-headers 无法通过命名的 MAPI 属性访问,但它们捆绑在邮件标头中,因此您需要解析每一行文本以查找任何特定的标头记录。

【讨论】:

我从 Outlook::MailItem 制作 PropertyAccessor 对象然后我应该怎么做然后我尝试使用 GetProperty("PR_TRANSPORT_MESSAGE_HEADERS_W ") 但它给了我无效的 QVarint 抱歉,请使用该属性的 DASL 名称:.GetProperty("schemas.microsoft.com/mapi/proptag/0x007D001F") 请您将代码的完整部分添加到您的答案中谢谢 这是我尝试的: Outlook::PropertyAccessor *acc = mail.PropertyAccessor(); QVariant var = acc->GetProperty("schemas.microsoft.com/mapi/proptag/0x007D001F"); 我收到了这个错误:QAxBase: Error calling IDispatch member GetProperty: Unknown error

以上是关于如何在 Outlook 中读取 Internet 标题和电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

outlook如何设置为联机运行

Internet Explorer /Microsoft Outlook 中的表格宽度

VSTO - Outlook 如何从邮件 ID 跟踪电子邮件

如何从不在 Outlook 中的硬盘中打开 Outlook .msg 文件?

263企业邮箱 如何在Outlook邮件客户端中设置IMAP收发邮件

outlook新邮件提示怎么设置?