从 MailItem (Microsoft.Office.Interop.Outlook) 获取唯一 ID?

2024-02-09

我正在创建一个应用程序来读取 Outlook 中收到的电子邮件。

读取的过程大概是这样的:

using Outlook = Microsoft.Office.Interop.Outlook;

var app = new Outlook.Application();
var ns = app.GetNamespace("MAPI");
ns.Logon(null, null, false, false);

var inboxFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
var subfolder = inboxFolder.Folders["MyFolderName"];

foreach (Outlook.MailItem item in subfolder.Items)
{
    // do something
    // item.EntryID
}

我需要为每个人获得一个唯一的IDitem in the foreach loop.

有一个EntryID财产在Outlook.MailItem我使用过并且运行良好,但我发现该属性存在问题:每当我将电子邮件移至另一个文件夹(在 Outlook 内)时,此属性EntryID改变了。

我进行了几次测试,发现EntryID当我将邮件移动到另一个文件夹时,值仅更改几个字符。

我需要一个无论哪个文件夹都是唯一的 ID。是否还有其他房产Outlook.MailItem或任何子串EntryID那总是独一无二的?

我在用着:

  • .NET 4.0;
  • 2010年展望;
  • Microsoft.Office.Interop.Outlook.dll 版本 14.0.0.0。

没有这样的财产。您可以使用 MailItem.PropertyAccessor 或 MailItem.UserProperties 创建自己的属性,但如果将邮件复制到另一个文件夹,它将不再是唯一的,因为您现在将拥有 2 个具有相同 id 的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 MailItem (Microsoft.Office.Interop.Outlook) 获取唯一 ID? 的相关文章

  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 从代码中,如何创建对存储在附加属性中的对象的属性的绑定?

    我们有一个继承的附加属性来存储一个对象 在可视化树的更下方 我们希望从代码绑定到该对象的属性 通常我们像这样构建绑定的路径部分 var someBinding new Binding Path new PropertyPath Attach
  • 从模板切换传递的类型

    在 C 中是否可以检查传递给模板函数的类型 例如 template
  • 一元 +/- 运算符如何可能导致“-a”或“+a”中的整数提升,“a”是算术数据类型常量/变量?

    这句看似微不足道的台词摘自我的迈克 巴纳汉和布雷迪的 C 书 第 2 8 8 2 节 http publications gbdirect co uk c book chapter2 expressions and arithmetic h
  • 将表(行)与 OpenXML SDK 2.5 保持在一起

    我想在 Word 文档中生成多个表 每行 2 行 但我想将这两行保留在一起 如果可能的话 new KeepNext 第一行不起作用 new KeepNext 第一行的最后一段不起作用 new CantSplit 放在桌子上不起作用 在所有情
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • MFC:如何设置CEdit框的焦点?

    我正在开发我的第一个简单的 MFC 项目 但我正在努力解决一个问题 想要设置所有的焦点CEdit其中一个对话框中的框 我的想法是 当打开对话框时 焦点位于第一个编辑框上 然后使用 选项卡 在它们之间交换 我看到了方法SetFocus 但我无
  • 将接口转换为其具体实现对象,反之亦然?

    在 C 中 当我有一个接口和几个具体实现时 我可以将接口强制转换为具体类型 还是将具体类型强制转换为接口 这种情况下的规则是什么 Java 和 C 中都允许这两个方向 向下转型需要显式转型 如果对象类型不正确 可能会抛出异常 然而 向上转换
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • 使用具有抗锯齿功能的 C# 更改抗锯齿图像的背景颜色

    我有一个图像需要更改背景颜色 例如 将下面示例图像的背景更改为蓝色 然而 图像是抗锯齿的 所以我不能简单地用不同的颜色替换背景颜色 我尝试过的一种方法是创建第二个图像 仅作为背景 并更改其颜色并将两个图像合并为一个图像 但是这不起作用 因为
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 使用 GCC 生成可读的程序集?

    我想知道如何使用GCC http en wikipedia org wiki GNU Compiler Collection在我的 C 源文件中转储机器代码的助记符版本 这样我就可以看到我的代码被编译成什么 你可以使用 Java 来做到这一
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • 如何调试 .NET 运行时中的内部错误?

    我正在尝试调试一些处理大文件的工作 代码本身works 但 NET 运行时本身会报告零星错误 对于上下文 这里的处理是一个 1 5GB 文件 仅加载到内存中一次 在循环中处理和释放 故意尝试重现此否则不可预测的错误 我的测试片段基本上是 t
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne

随机推荐

  • C++ 中重载赋值运算符

    据我了解 重载operator 时 返回值应该是非常量引用 A A operator const A check for self assignment do assignment return this 在以下情况下允许调用非常量成员函数
  • 使用字符串插值将字符串格式化为列

    我需要打印双精度数 以便为值的字符串表示分配一定数量的符号 例如 8 接下来的单词应该从每个字符串中的字符串开头的相同索引处开始 我现在有 value 0 test value 0 3333333333333 test value 0 5
  • 如果所有给定单词都在字符串中,则匹配正则表达式

    假设我有一个这样的查询 一二三 如果我用 替换空格 管道字符 如果字符串包含一个或多个这些单词 我可以匹配该字符串 这就像逻辑 或 是否有类似的东西可以进行逻辑与 只要字符串中存在所有单词 无论单词顺序如何 它都应该匹配 不幸的是我离开了我
  • 当两个 .c 文件具有相同符号但不同类型的全局变量时,引用如何工作?

    C 假设我有以下 C 模块 MODULE 1 include
  • 自动/机器人消息发布到 Microsoft-Teams 聊天室

    如何自动将消息发布到 Microsoft Teams 中的聊天室 这是针对单向消息传递的 即发布消息 而不是阅读消息 这里的大局是我们正在评估不同的群聊解决方案 其中一项要求是将错误消息从各种服务和程序发布到聊天室 一个明智的方法似乎是建立
  • Django 错误电子邮件太长。我该如何截断它?

    Django 1 9 中的错误电子邮件似乎比以前长得多 有一个完整的 设置 部分 我认为这是多余的 而且可能太暴露了 编辑 Django 发送的错误电子邮件的最佳方法是什么 编辑 我不仅仅是想隐藏敏感信息 Django 1 9 中的电子邮件
  • Repeater 控件中的水平方向

    我有一个 Repeater 控件 用于显示上传的图像 如何水平显示复读机中的图像 我怎样才能将标题添加到图片的底部 假设你有这样的代码
  • 读取 opencv_face.LBPHFaceRecognizer.getHistograms() 中的值

    我正在尝试使用 android 中的 opencv 库 我以前从未研究过它 所以这可能是一个非常基本的问题 我有一个opencv face LBPHFaceRecognizer我的对象识别器活动 我的要求是读取先前存储的面部的直方图值 op
  • 分叉 - 相同的内存地址?

    这是关于 Linux 中的 C 语言 I have fork in main 我在其中创建了 2 个子进程 然后 在两个子进程中运行该函数abc 其中有一个局部变量x 我在里面写了一些值 然后我打印这个变量的地址printf p x 两个进
  • Get-ChildItem - 过滤器数组

    情况 Get ChildItem Path Filter dll为我工作 这有效 Path env windir system32 GuyArray dll exe Get ChildItem Path Include GuyArray 但
  • xtext 中的终端/数据类型/解析器规则

    我正在使用 xtext 2 4 我想做的是类似 SQL 的语法 让我困惑的是我不确定哪些东西应该被视为终端 数据类型 解析器规则 到目前为止我的语法相关MyTerm is Model terms MyTerm MyTerm constant
  • javascript 阿拉伯语文本转语音

    我正在努力使SpeechSynthesisUtterance为阿拉伯语工作 对于英语来说效果很好 document ready function var u1 new SpeechSynthesisUtterance Hello world
  • Cakephp 3.0 的供应商文件夹中缺少 autoload.php

    我已经安装了 Cakephp 3 0 的新包 我已经关注了本教程 https book cakephp org 3 0 en quickstart html 我的系统上已经安装了一个新的软件包 但是当我尝试运行服务器时 我收到此错误 PHP
  • 如何计算PDF签名哈希值?

    这个问题与this https stackoverflow com questions 54356538 how to extract and verify pdf signature pkcs7 with openssl一个 但更具体一点
  • 为什么我们使用双斜杠而不是 http

    我看到一些网页将 javascript 文件链接到这样的页面 为什么我们使用双斜杠 代替http or https 从绝对网址开始 有什么不同 该协议将从您所在的任何页面继承 如果您的网站可以采用不同的协议 http在主页上 https例如
  • Mac用brew安装python3.6

    我想安装 python 3 6 版本 当我做brew install python它安装最新版本的 python 即3 8 我尝试了下面的解决方案 但它给了我错误 brew install ignore dependencies https
  • 通过注释使用 Hibernate UUIDGenerator

    我使用我的 uuid 如下 Id GeneratedValue generator uuid GenericGenerator name uuid strategy uuid Column name uuid unique true pri
  • 如何动态修改Android布局XML

    我是 Android 开发新手 我将开发一个 Android 应用程序 在此应用程序中 我想动态生成 xml 布局 登录应用程序后 服务器将发送带有控件描述的 xml 模板 其中包括不同的属性描述 每个控件的验证 最大长度 控件的大小等 这
  • os Catalina 和 Laravel Homestead MySql 错误:ERROR 2007 (HY000):协议不匹配;服务器版本 = 11,客户端版本 = 10

    我正在尝试连接到MySQLVagrant 版本中的服务器Laravel Homestead 运行MySQL 5 7 我似乎从来没有遇到过任何问题 但在装有 Catalina 的新笔记本电脑上 尝试使用推荐设置进行连接时出现以下错误 mysq
  • 从 MailItem (Microsoft.Office.Interop.Outlook) 获取唯一 ID?

    我正在创建一个应用程序来读取 Outlook 中收到的电子邮件 读取的过程大概是这样的 using Outlook Microsoft Office Interop Outlook var app new Outlook Applicati