How can I embed images in my e-mail?
The most common way to embed images in an HTML e-mail is by adding them as an attachment using a content-id attribute and then referencing them from an ‘IMG’ tag directly.
The Auron Email component adds content-id attributesĀ to attachments automatically. The first attachment will have ID = 1, the next will have ID = 2, etc.
Use the following example to send an e-mail with an embedded image using the Auron E-mail component:
Set objSmtp = CreateObject("AxEmail.Smtp")
Set objMail = CreateObject("AxEmail.Message")
' component info
WScript.Echo "Auron Email Component " & objSmtp.Version
WScript.Echo "Build: " & objSmtp.Build & vbCrLf & "Module: " & objSmtp.Module
' compose e-mail
objMail.Subject = "Testing image in footer"
objMail.BodyPlainText = "Hi, this is an official e-mail from MyCompany - Greetings!"
objMail.BodyHtml = "<p>Hi, this is an official e-mail from MyCompany</p>" & _
"<p>Greetings!</p><img src=""cid:1"">" ' Refer to first attachment with cid:0
objMail.AddTo "customer@theircompany.com"
objMail.AddAttachment "logo_rgb.png" ' First attachment contains the image
' connect to smtp server
objSmtp.HostPort = 587
objSmtp.Connect "mail.mycompany.com", "me@mycompany.com", "P@ssword"
Wscript.Echo "Connect, result: " & objSmtp.LastError & " (" & _
objSmtp.GetErrorDescription( objSmtp.LastError ) & ")"
If (objSmtp.LastError <> 0) Then
WScript.Quit
End If
' send e-mail
objSmtp.Send objMail
WScript.Echo "Send, result: " & objSmtp.LastError & " (" & _
objSmtp.GetErrorDescription( objSmtp.LastError ) & ")"
WScript.Echo "Last response from SMTP Server: " & objSmtp.LastSmtpResponse
' disconnect
objSmtp.Disconnect
WScript.Echo "Disconnected."
WScript.Echo "Ready."