仅保存 Outlook 邮件项目的真实附件

2024-01-31

我目前正在开发一个 Outlook 插件,它将邮件项目和附件保存在我的 MSSQL 数据库中。

我有一个方法可以保存 MailItem 及其所有附件。但是,如果我保存所有附件,则 MailItem 中的嵌入图像也会保存。

有谁知道如何拯救所有real附件??我的意思是像下面图片中的附件一样:

而不是邮件正文中的嵌入图像。

下面是我用来循环遍历 MailItem 的所有附件然后保存它的代码:

foreach (Outlook.Attachment att in mailItem.Attachments)
{
      try
      {
          att.SaveAsFile(Path.GetTempPath() + att.FileName);

          var fi = new FileInfo(Path.GetTempPath() + att.FileName);

          //Saving attachment to DB
          var attachment = Attachment.NieuwAttachment(att.FileName, SelectedMap.DossierNr.ToString( CultureInfo.InvariantCulture), -1, Convert.ToInt32(SelectedMap.Tag), fi);
          if (!Attachment.InlezenAttachment(attachment)) continue;

          OutlookCategories.AddAttachmentCategory(mailItem);
      }
      catch (Exception ex)
      {
          var dmsEx = new DmsException("Er is een fout opgetreden bij het opslaan van een bijlage.", ex.Message, ex);
          ExceptionLogger.LogError(dmsEx);
      }
 }

Thanks!

- - - - - - 编辑 - - - - - -

我还在 Microsoft TechNet 上发布了这个问题,并且刚刚收到了该问题的答案(请参阅下面的链接)

- - - - - - 编辑 - - - - - -

我的问题仍然没有解决,我从微软得到的帮助是没有用的..所以请我真的需要解决这个问题!


使用此代码回答here https://stackoverflow.com/a/27896608/698127 :

if (mailItem.Attachments.Count > 0)
        {
            // get attachments
            foreach (Attachment attachment in mailItem.Attachments)
            {
                var flags = attachment.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x37140003");

                //To ignore embedded attachments -
                if (flags != 4)
                {
                    // As per present understanding - If rtF mail attachment comes here - and the embeded image is treated as attachment then Type value is 6 and ignore it
                    if ((int)attachment.Type != 6)
                    {

                        MailAttachment mailAttachment = new MailAttachment { Name = attachment.FileName };
                        mail.Attachments.Add(mailAttachment);
                    }

                }

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

仅保存 Outlook 邮件项目的真实附件 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur

随机推荐

  • WPF - AvalonDock - 关闭文档

    我在 WPF 项目中将 AvalonDock 与 MVVM 结合使用 当我点击 X 选项卡的关闭按钮 时 我的文档将关闭但保留在内存中 看来只是隐藏而已 它没有从我的中删除Model Documents收藏 如果我添加DockingMana
  • Objective-C 对象可以成为它自己的委托吗?这是良好的编程习惯吗?

    我知道这是可能的 但这真的是一个好的编程实践吗 这个想法是子类化UIAlertView并订阅我自己作为我自己的代表 以便能够添加按钮和块处理程序 这样 当我得到alertView clickedButtonAtIndex 我将传递的块称为
  • 实例化地形区域内的对象

    using System Collections using System Collections Generic using UnityEngine public class Teleport MonoBehaviour public V
  • 与 DateSeparator 和 LongTimeFormat 相关的未声明标识符错误[重复]

    这个问题在这里已经有答案了 我有一个在Delphi 5中创建的程序 该程序在Win7和Win8上仍然运行得近乎完美 但是 当尝试在 XE6 试用版 中运行此代码时 我遇到两个错误 但无法修复 DateSeparator 和 LongTime
  • 在带有 Spring Boot 的 JSP 中使用自定义标记文件

    我有一个 Spring Boot 项目 我尝试在 JSP 文件中进行以下调用
  • FFmpeg 输出文件格式,无扩展名

    我正在开发一个系统 需要以以下形式存储视频 path to video
  • Python 一维 numpy 数组的中值过滤器

    我有一个numpy array有一个维度dim array 我期待获得像这样的中值滤波器scipy signal medfilt data window len 这实际上不适用于numpy array可能是因为维度是 dim array 1
  • python中的数字输入识别

    我正在尝试制作一个脚本来询问数学方程 然后用户必须输入他们认为的答案 然后 python 会输出答案 然而 由于某种原因 python 不喜欢 raw input 与 eval 语句相关 例如 代码是 print What s 5 4 a
  • 如何在 Spark 2.4 中加载自定义变压器

    我正在尝试在 Spark 2 4 0 中创建自定义变压器 保存起来效果很好 但是 当我尝试加载它时 出现以下错误 java lang NoSuchMethodException TestTransformer
  • 如何让 Unity 3D 中的对象保留在场景中并且不会重新创建

    我正在尝试找到一种在 Unity 3D 中播放背景音乐的好方法 我希望音乐在场景加载中保持一致播放 加载时不要破坏很好并且有效 但是每次我加载同一个场景时 它都会生成另一个音乐游戏对象 因为场景本身包含游戏对象 我该如何解决我的问题 我是一
  • aspx 和 aspx.cs 文件之间的链接断开

    在重命名不同的 ASPX 页面后 我曾多次遇到同样的问题 令我惊讶的是我在 stackoverflow 上找不到其他人也有同样的问题 当我运行 ASP NET C 项目时 调试器会向我显示一条类似这样的消息 Error 5 The name
  • 使用scrapy提取XHR请求?

    我正在尝试抓取使用 javascript 生成的社交点赞计数 如果我绝对引用 XHR url 我就能够抓取所需的数据 但是我尝试抓取的网站动态生成这些 XMLHttpRequest 其中包含我不知道如何提取的查询字符串参数 例如 您可以看到
  • 具有更新队列和输出队列的 Python 多处理

    如何编写使用两个队列的 Python 多进程脚本 一个作为工作队列 以一些数据开始 并且根据要并行化的函数的条件 动态接收更多任务 另一个收集结果并用于在处理完成后写下结果 我基本上需要根据我在初始项目中发现的内容在工作队列中放入更多任务
  • C中使用的括号及其用途

    如果之前有人问过这个问题 我很抱歉 但我是 C 的初学者 我想知道是否有人可以帮助解释一下 下面的代码中的括号 我从在线教程中获取了它 它运行得很好 但有一部分我不明白 include
  • SingleProducerConstrained 和 MaxDegreeOfParallelism

    在 C TPL 数据流库中 SingleProducerConstrained 是 ActionBlocks 的优化选项 当只有单个线程提供操作块时可以使用 如果一个区块只会被一个生产者在某个时间点使用 time 这意味着一次只有一个线程会
  • iText:PdfTable单元格垂直对齐

    我正在尝试将标题单元格文本垂直对齐到单元格高度的中间 这是我的代码 PdfPCell c1 new PdfPCell cerate phrase regular bold c1 setHorizontalAlignment Element
  • Open GL 对于 2d 卡牌游戏来说太过分了吗?

    我只是有一个创建纸牌游戏的想法 我只是在考虑是否使用 OpenGl 还是 CoreAnimation 你能告诉我使用 OpenGL 来制作 2D 纸牌游戏是否有点过分了 谢谢 在不了解更多情况的情况下很难说 不过 您可以使用 CALayer
  • 使用 Python 客户端 API 在 Google Cloud Pub/Sub 中运行同步拉取

    我找不到立即返回Python 客户端 API 中的标志 有什么具体原因吗 是否有另一种方法可以从 Python 中的订阅中同步提取排队消息 谷歌不提供这样的东西 但是您可以通过实现自己的队列轻松解决这个问题 from Queue impor
  • Nuxt js - SSR页面重复组件

    我正在生成一个带有组件列表的简单静态页面 当我从另一个页面访问该页面时 它会正确呈现所有内容 当我直接登陆页面时 某些组件会在页脚之后再次呈现 如果我检查该元素 我可以看到它们是相同的元素 但在页脚之后再次呈现 任何人都知道为什么会发生这种
  • 仅保存 Outlook 邮件项目的真实附件

    我目前正在开发一个 Outlook 插件 它将邮件项目和附件保存在我的 MSSQL 数据库中 我有一个方法可以保存 MailItem 及其所有附件 但是 如果我保存所有附件 则 MailItem 中的嵌入图像也会保存 有谁知道如何拯救所有r