CID#
CID es una forma especial de insertar imágenes u otros archivos multimedia directamente en el cuerpo del correo, para que se muestren de inmediato, sin necesidad de descargarlos por separado.
- En el correo, las imágenes se insertan a través de la etiqueta
<img src='cid:ID_unico'>. - El ID único (Content-ID) vincula la imagen con esta etiqueta.
- En la base de datos se almacenan estos ID y las propias imágenes.
- Al mostrar el correo, el programa busca las imágenes por estos ID y las muestra.
Esta construcción funciona para páginas web, sin embargo, Outlook puede no mostrar estas imágenes. Esto es especialmente relevante para Office 2019.
Configuración de conexión a Exchange#
$exchangeVersion = [Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2016
$service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService($exchangeVersion)
$service.Credentials = New-Object System.Net.NetworkCredential($ , $ )
$service.Url = "https:// / /Exchange.asmx"
Creación del correo#
$email = New-Object Microsoft.Exchange.WebServices.Data.EmailMessage($service)
$email.Subject = $subject
$email.Body = New-Object Microsoft.Exchange.WebServices.Data.MessageBody(
[Microsoft.Exchange.WebServices.Data.BodyType]::HTML,
"<html><body><p style = `"font-size: 15px; font-family: Calibri;`">${$header}<br>${$link}<br></p><img src='cid:MyImage'>$($ )</body></html>"
)
$emailAddresses = $Row.emails -split ';' | ForEach-Object { $_.Trim() }
foreach ($address in $emailAddresses) {
$email.ToRecipients.Add($address)
}
Adición de un archivo adjunto con ContentId#
$filePath = $
$attachment = $email.Attachments.AddFileAttachment($filePath)
$attachment.ContentId = "MyImage"
$attachment.IsInline = $true
Envío del correo#
$email.SendAndSaveCopy()
.png)