为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 c# 将收到的邮件作为附件附加到新邮件中

如何使用 c# 将收到的邮件作为附件附加到新邮件中

C#
慕莱坞森 2022-07-23 17:50:22
我有一个(Microsoft.Office.Interop.Outlook.MailItem mail)邮件对象。我希望这封邮件作为附件附加到另一封邮件。但无法找到任何解决方案。所以任何人都可以帮忙。我创建了另一个邮件对象,如下所示: Microsoft.Office.Interop.Outlook.MailItem toSendMail = this.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

根据您的要求,您希望将现有邮件对象作为附件发送到 Outlook 中的另一封邮件。


一种方法是将现有的 mailItem 保存为其他的附件。尝试这个:


private void AddMessageAsAttachment(Microsoft.Office.Interop.Outlook.MailItem 

                     mailContainer,Microsoft.Office.Interop.Outlook.MailItem mailToAttach)

        {

            Microsoft.Office.Interop.Outlook.Attachments attachments = null;

            Microsoft.Office.Interop.Outlook.Attachment attachment = null;

            try

            {

                attachments = mailContainer.Attachments;

                attachment = attachments.Add(mailToAttach,

                   Microsoft.Office.Interop.Outlook.OlAttachmentType.olEmbeddeditem, 1, "The attached e-mail");

                mailContainer.Save();

            }

            catch (Exception ex)

            {

                    Console.WriteLine(ex.Message);

            }

            finally

            {

                if (attachment != null) Marshal.ReleaseComObject(attachment);

                if (attachments != null) Marshal.ReleaseComObject(attachments);

            }

        }

参考:https ://www.add-in-express.com/creating-addins-blog/2011/08/12/how-to-add-existing-e-mail-message-as-attachment/


查看完整回答
反对 回复 2022-07-23
?
万千封印

TA贡献1891条经验 获得超3个赞

获取邮件,应将其添加为附件。然后调用 «SaveAs({filename}, Microsoft.Office.Interop.Outlook.OlSaveAsType.olMSG)» 并将此文件添加到您的新邮件中



查看完整回答
反对 回复 2022-07-23
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信