У меня есть служба, которая работает на SQL Службы Integration Services, эта служба читает почтовый ящик и пересылает прочитанные электронные письма другим получателям, все в порядке с встроенными изображениями, когда они добавляются вручную с помощью редактора Outlook (перетаскивание или вставить изображение). Но когда электронная почта создается с использованием VBA и вставки изображений в виде вложений и именования их 'cid', когда сообщение читается из EWS, оно не распознает изображения как встроенные изображения.
Так мое приложение считывает электронную почту (NormalizedBody) из EWS, когда электронное письмо было отправлено с помощью редактора Outlook, а изображения вставлены с помощью кнопки вставки изображения: (Я пропустил другие теги html и показывает только теги 'img'):
<img src=\"cid:image001.png@01D5CC5D.4C661140\" width=\"135\" height=\"166\" id=\"Imagem_x0020_1\">
<img src=\"cid:image002.png@01D5CC5D.4C661140\" width=\"135\" height=\"166\" id=\"Imagem_x0020_2\">
<img src=\"cid:image003.png@01D5CC5D.4C661140\" width=\"135\" height=\"166\" id=\"Imagem_x0020_3\">
И свойства вложений из ' image001 'как пример:
ContentId : "image001. png@01D5CC5D.4C661140"
IsInline : true
Сейчас, если я создайте электронную почту, используя Outlook VBA с этим кодом:
Dim olApp As Outlook.Application
Dim olMail As Outlook.MailItem
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
olMail.To = "TelemetriaCubosOperacCIV@correio.itau.com.br"
olMail.Subject = "VBA MAIL TEST"
olMail.Attachments.Add "C:\Users\Public\_testeMailing\Image001.png", olByValue, 1, "Image001"
olMail.Attachments.Add "C:\Users\Public\_testeMailing\Image002.png", olByValue, 2, "Image002"
olMail.Attachments.Add "C:\Users\Public\_testeMailing\Image003.png", olByValue, 3, "Image003"
olMail.BodyFormat = olFormatHTML
Dim strHTML As String
strHTML = "<table><tr>" & _
"<td><img src='cid:Image001.png' /></td>" & _
"<td><img src='cid:Image002.png' /></td>" & _
"<td><img src='cid:Image003.png' /></td>" & _
"</tr></table>"
olMail.HTMLBody = strHTML
olMail.Send
При чтении NormalizedBody из EWS теги HTML img отображаются следующим образом:
<img src=\"cid:342EA5ED2B36174FA24B4FFE34AD84FA@1\">
<img src=\"cid:37448D8F2D450541A18641D2EE5BB152@1\">
<img src=\"cid:3E2CFE241DBFF943B815142BC3631890@1\">
И свойства image001 являются:
ContentId : null
IsInline : false
Возможно, если я открою это письмо с помощью клиента Outlook, тело письма показывает изображения правильно.
Но если я попытаюсь создайте пересылку сообщения (CreateForward ()), изображения превращаются в вложения (не встроенные), а расположение изображений в cid показано прерывистым.
Я думаю, что проблема заключается в способе вставки изображений в сообщение при использовании Код VBA, а не с чтением из EWS это правильно? Есть ли лучшие способы создания электронной почты с использованием 'cid' и встроенных изображений?
Спасибо, и извините за ошибки в engli sh.