在 Outlook 电子邮件中包含图片

2023-12-14

我正在尝试使用 Microsoft Word 文档作为 Microsoft Outlook 电子邮件的正文。到目前为止,我已经能够使用以下代码将 Word .docx 中的文本包含到电子邮件正文中:

            if (File.Exists(fileName.ToString()))
        {
            DateTime today = DateTime.Now;

            object readOnly = false;
            object isVisible = false;

            //Set Word to invisible
            wordApp.Visible = false;

            //Open the word document
            aDoc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing);

            try
            {
                //Activate Document
                aDoc.Activate();

                //Find Place Holders and replace them with values
                this.FindAndReplace(wordApp, "<NameAddressed>", NameAddressed);
                this.FindAndReplace(wordApp, "<SessionInfo>", SessionInfo);
                this.FindAndReplace(wordApp, "<NumberGuests>", GuestNumber);
                this.FindAndReplace(wordApp, "<Balance>", Balance);

                //Postal
                this.FindAndReplace(wordApp, "<FullName>", FullName);
                this.FindAndReplace(wordApp, "<Address1>", Address1);
                if (Address2 != "&nbsp" && Address2 != "" && Address2 != " ")
                    this.FindAndReplace(wordApp, "<Address1>", Address1 + "\n\r" + Address2);
                else
                    this.FindAndReplace(wordApp, "<Address1>", Address1);
                this.FindAndReplace(wordApp, "<City>", City);
                this.FindAndReplace(wordApp, "<State>", State);
                this.FindAndReplace(wordApp, "<Zip>", Zip);
            }
            catch (Exception ex)
            {
                aDoc.Close(ref missing, ref missing, ref missing);
                ClientScript.RegisterStartupScript(this.GetType(), "error", "javascript:;alert('" + ex.Message + "')");
                return false;
            }
            aDoc.SaveAs(ref saveAs);

            //Save the file as the correct file name

            if (DataType.Text == "Email")
            {
                Outlook.Application oApp = new Outlook.Application();
                // Create a new mail item.
                Outlook.MailItem eMail = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);

                Word.Range r = aDoc.Content;
                r.Select();
                string s = r.Text;

                eMail.Subject = "Confirmation Email";
                eMail.To = "[email protected]";
                eMail.Body = s;
                ((Outlook._MailItem)eMail).Send();
                //Close the document - you have to do this
                aDoc.Close(ref missing, ref missing, ref missing);
            }
            litError.Text = "File Created. ";
            return true;
        }
        else
        {
            litError.Visible = true;
            litError.Text = "File Does Not Exist";
            return false;
        }

但此代码不会包含电子邮件中 ​​Word 文档中的图像。有什么方法可以让 .docx 也可以将其图像发送到 Outlook 并保持其原始格式吗? 提前致谢


首先,您要设置纯文本MailItem.Body财产。 其次,创建附件并设置PR_ATTACH_CONTENT_ID属性(DASL 名称"http://schemas.microsoft.com/mapi/proptag/0x3712001F") using Attachment.PropertyAccessor.SetProperty.

您的 HTML 正文 (MailItem.HTMLBody属性)然后需要通过 cid 属性引用该图像附件:

<img src="cid:xyz">

其中 xyz 是值PR_ATTACH_CONTENT_ID财产。

查看现有消息Outlook间谍软件(我是它的作者 - 单击 IMessage 按钮)。

EDIT:示例脚本(在我的脑海中):

attachment = MailItem.Attachments.Add("c:\temp\MyPicture.jpg")
attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "MyId1")
MailItem.HTMLBody = "<html><body>Test image <img src=""cid:MyId1""></body></html>"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Outlook 电子邮件中包含图片 的相关文章

随机推荐

  • 如何将字符串添加到 string[] 数组?没有 .Add 功能

    private string ColeccionDeCortes string Path DirectoryInfo X new DirectoryInfo Path FileInfo listaDeArchivos X GetFiles
  • 在 addClassRules 中添加组

    我该如何添加groups for require from group添加到addClassRules validator addClassRules group input require from group 1 group input
  • Rails 3.1 提交带有链接的 ajax (remote: true) 表单

    在 Rails 3 1 应用程序上使用 ajax 我需要能够使用链接而不是提交按钮提交 ajax 表单 使用远程 true 我需要对链接 或表单 做什么才能使其作为 ajax 提交而不是正常的表单提交 我尝试将 onclick java 添
  • 如何彻底删除gcloud?

    我是 mac 新手 我只是删除了 gcloud 文件夹 现在 当我打开命令行窗口时 我总是会看到下一个 bash Users myuser gcloud google cloud sdk completion bash inc 没有这样的文
  • C编程:scanf中的字符[重复]

    这个问题在这里已经有答案了 scanf 字符有问题 运行程序时不要让我输入字符 当我输入整数时程序会打印 printf 并转到最后一个 else include
  • 为什么 Spark 的 Word2Vec 返回向量?

    运行Spark 的 Word2Vec 示例 我意识到它接受一个字符串数组并给出一个向量 我的问题是 它不应该返回矩阵而不是向量吗 我期望每个输入单词有一个向量 但它返回一个向量周期 或者也许它应该接受字符串 而不是字符串数组 一个单词 作为
  • 如何在 PHP 应用程序内从另一个站点呈现 javascript?

    我想做的是从 PHP 应用程序内部的网页读取特定行 这是迄今为止我的实验设置
  • ASP 中的访问控制允许来源

    我有一个 DOM 文件 它调用另一个域上的 ASP 文件 不是 NET 我该如何写Access Control Allow Origin在ASP 中 Access Control Allow Origin是 PHP 的 但我找不到 ASP
  • oracle.jdbc.OracleDatabaseException: ORA-00972: 标识符太长

    这是我的实体类 Entity public class ProjectDetails Id private int projectId private String projectDescription private int langua
  • jQuery.extend 和 jQuery.fn.extend 之间的区别?

    我试图理解 jquery 插件语法 因为我想将两个插件合并到 一 信号灯还需要能够间隔停止或运行多次 反正 这个语法与以下相同吗 jQuery fn extend everyTime function interval label fn t
  • 自定义 SSL 处理在 Android 2.2 FroYo 上停止工作

    对于我的应用程序 Transdroid 我通过 HTTP 连接到远程服务器 也可以选择通过 HTTPS 安全连接 对于与 HttpClient 的这些 HTTPS 连接 我使用自定义 SSL 套接字工厂实现来确保自签名证书正常工作 基本上
  • VBA COM 互操作问题

    我有一些来自 MSDN 的示例代码 我正在尝试对其进行修改以供使用 但 VBA 编译器拒绝尖括号的内容 lt gt 我在模块中有以下代码 Imports System Imports System Runtime InteropServic
  • java上的rtsp流

    任何人都可以帮我提供有关如何使用 gstreamer 在 java 中实现 RTSP 流媒体服务器的教程 链接文本 RTSP建立过程Server 代码是用 C 编写的 但请查看我的客户端代码以了解如何使用 gstreamer java AP
  • Pygame 使用对象和矩形进行碰撞检测

    是的 我正在问有关该程序的另一个问题 D 不管怎样 我目前有一个程序 可以在屏幕上创建两条线 它们之间有一个可以滚动的间隙 从这里 我显然需要查看两个物体是否发生碰撞 由于我只有一个精灵和一个矩形 我认为为它们创建两个类有点毫无意义和过分
  • Android WebView:在 JavaScript 中处理箭头键

    我有一个简单的 WebView 应用程序 我想用键盘控制它 是否可以在 Javascript 中捕捉箭头键 我尝试过以下代码 但没有任何运气 function handleArrowKeys evt console info key doc
  • 使用 ssh 时出现错误 EOF:找不到命令

    我正在尝试重命名远程服务器中的文件名 例如 filename dirname suffix 并将文件复制到我的服务器 我写过这样的代码 usr bin bash TRANSFERSERVERXMLS emp transfer XMLS RE
  • AngularJS,在显示视图之前解析数据

    这个主题已经被问过 但我不知道在我的情况下该怎么做 Using AngularJS 1 0 5 在显示视图 登录 之前 我想获取一些数据并在未从 AJAX 请求加载数据时延迟视图呈现 这是主要代码 这是好方法吗 angular module
  • 使用递归将嵌套对象重新格式化为字符串数组

    我有以下对象 const modules celebrity actor male male female female director director movie movie user user 结果我想要一个字符串数组 如下所示 c
  • HTML5 画布轮盘赌

    我有这个http jsfiddle net e7fwt4wb html5 canvas 中的轮盘旋转正常运行 当我调用 spin 方法时 轮盘会旋转并停止在我的数字数组中的随机数中 如何调用传递参数的函数以停止在数字数组的某个位置
  • 在 Outlook 电子邮件中包含图片

    我正在尝试使用 Microsoft Word 文档作为 Microsoft Outlook 电子邮件的正文 到目前为止 我已经能够使用以下代码将 Word docx 中的文本包含到电子邮件正文中 if File Exists fileNam