【问题标题】:Embedding image in original size in HTML email在 HTML 电子邮件中以原始尺寸嵌入图像
【发布时间】:2018-08-05 21:15:48
【问题描述】:

我正在通过 Access 使用 VBA 来创建邮件。

当我将图像尺寸调整为小于实际尺寸时,它会嵌入。当我省略尺寸或输入实际尺寸时,图像作为附件出现。

下面是代码sn-p,miniplane.jpg作为附件。它的实际尺寸是 600x160。如果我将代码更改为 300x80,它会显示。

Sub send_SHCmail()

    '>>>> Declarations >>>>

    Dim strPath As String
    Dim strFileName As String
    Set appOutLook = CreateObject("Outlook.Application")
    Set MailOutLook = appOutLook.CreateItem(olMailItem)

    Dim olApp As Object
    Dim objMail As Object

    Set SHCData1 = Nothing
    Set SHCData2 = Nothing

    '>>>> Email Creation and Outlook Error Loop >>>>

    On Error Resume Next 'Keep going if there is an error
    Set olApp = GetObject(, "Outlook.Application") 'See if Outlook is open

    If Err Then 'Outlook is not open
       Set olApp = CreateObject("Outlook.Application") 'Create a new instance
    End If

    'Create e-mail item
    Set objMail = olApp.CreateItem(olMailItem)
    With objMail

        'Set body format to HTML
        .BodyFormat = olFormathtml
        .To = "no-reply@email.com"
        .Bcc = SHCDistribution
        .Sentonbehalfofname = "test@email.com"
        .Subject = "Planning Report - " & Format(Now, "MMMM d, yyyy")
        .Attachments.Add "\\local\Sdata\Logo-Facet-01.png", olByValue, 0
        .Attachments.Add "\\local\Sdata\miniplane.jpg", olByValue, 0
        .HTMLBody = "<!DOCTYPE html>"

        'Body Header
        .HTMLBody = .HTMLBody & "<html><head><body>"
        .HTMLBody = .HTMLBody & "<img src=""cid:Logo-Facet-01.png"" alt=""Image Missing"" width=""215.6"" height=""96.53"" style=""display: block;"" />"
        .HTMLBody = .HTMLBody & "<img src=""cid:miniplane.jpg"" alt=""Image Missing"" width=""600"" height=""160"" style=""display: block;"" />"

        .Display
    End With

End Sub

【问题讨论】:

    标签: html ms-access outlook vba


    【解决方案1】:

    首先,不要使用HTMLBody 作为中间变量——读取和设置它的成本很高。使用局部变量构建 HTML ,然后只设置一次 HTMLBody 属性。

    如果您通过src 属性设置img 标记,则必须设置PR_ATTACH_CONTENT_ID 属性 - 请参阅How to add images from resources folder as attachment and embed into outlook mail body in C#

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 2015-03-14
      • 2020-12-14
      • 2016-11-06
      • 1970-01-01
      • 2020-03-31
      • 2010-12-23
      • 2010-10-29
      相关资源
      最近更新 更多