首页 > 解决方案 > 不使用 HTML 代码在电子邮件中发送嵌入图像

问题描述

我一直在用 VBA 开发代码来处理 Excel 上的工作表并通过电子邮件将结果发送给我的客户,并在电子邮件正文中附加文档和图像。

此代码的一部分使用 HTML 代码附加图像。

当我将此自动电子邮件发送给我的客户时,该图像被 Outlook 的默认保护阻止,不允许自动下载 HTML 图像。
在此处输入图像描述

下面是我的代码示例,其中 myMail.HTMLBody 是我添加图像目录并发生问题的地方。
当我看到电子邮件(在 myMail.Display True 中)时,我可以通过电子邮件将图像发送给我的客户而不会阻止,我在 MS Outlook 中执行手动处理,单击插入 > 图片并选择图像(此我想要在我的代码中的过程)。

如何在我的代码中编写此过程(在图片中手动选择图像)?

我可以要求我的客户将我的电子邮件定义为受信任或要求他们在 MS Outlook 的信任中心取消选中此保护,但我想从我这边解决这个问题,而不是将其传递给我的客户。

Function Send_Email(EmailTO, EmailCC)
    
    Dim outlookApp As Outlook.Application
    Dim myMail As Outlook.MailItem
    Dim Source_File As String
    
    Set outlookApp = New Outlook.Application
    Set myMail = outlookApp.CreateItem(olMailItem)
    
    myMail.To = EmailTO
    myMail.CC = EmailCC
    myMail.Subject = "Subject
    myMail.HTMLBody = "<p><img src=""C:\pictures\image.png"" alt="""" /></p>        
    myMail.Attachments.Add "C:\pictures\image.png"
    myMail.Attachments.Add "C:\documents\document.xlsx"
    myMail.Display True 'comment this out if you don't want to display email
    myMail.Send 'comment this out if you don't want to send yet
    
End Function

标签: excelvbaimageemailoutlook

解决方案


推荐阅读