gpt4 book ai didi

c# - 使用 C# 将 Outlook 邮件附件转换为字节数组

转载 作者:太空狗 更新时间:2023-10-30 00:51:05 24 4
gpt4 key购买 nike

公平警告:我是 C# 和 Outlook 的新手,所以请多多包涵。

我一直在尝试在 Outlook 中使用电子邮件来构建我正在构建的快速而肮脏的插件,但该插件要求我将附件发送到不同的系统。

长话短说;为此,我需要将 Outlook 项目的邮件附件转换为 byte 数组。

到目前为止我所拥有的(完整的代码显然比这要长很多英里,但我相信我们都有更好的事情要做,而不是坐下来阅读代码的上下一页):

Outlook.Selection sel = control.Context as Outlook.Selection;
Outlook.MailItem mail = sel[1];
Outlook.Attachment a = mail.Attachments[0];

问题是,我不知道如何将 a 转换为 byte 数组。

PS: 我知道关于如何将 byte 数组转换为邮件有大约十亿个答案,但没有一个解释如何让它运行另一个一路走来。

编辑 1:我宁愿不必保存文件。

最佳答案

Dmitry 提出的第二种方法(打开附件作为二进制流)在托管代码中也是可以实现的。它使用 PropertyAccessor 接口(interface),该接口(interface)可用于 C# 中的附件对象。这是我在自己的项目中成功使用的一些示例代码:

const string PR_ATTACH_DATA_BIN = "http://schemas.microsoft.com/mapi/proptag/0x37010102";

Outlook.Attachment attachment = mail.Attachments[0];

// Retrieve the attachment as a byte array
var attachmentData =
attachment.PropertyAccessor.GetProperty(PR_ATTACH_DATA_BIN);

我的示例代码基于 如何:修改 Outlook 电子邮件消息的附件 主题,由 Ken Getz, MCW Technologies, LLC 作为 MSDN documentation 的一部分提供.

关于c# - 使用 C# 将 Outlook 邮件附件转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29912136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com