Solved

How can I embed images in an HTML email message sent via Exchange Powershell?

Posted on 2015-01-29
4
1,178 Views
Last Modified: 2015-01-30
I have a working Powershell script that looks at an input file for two variables (recipients and language code).  each email that is sent contains a header and footer image.  But, the email that Outlook receives doesn't automatically display the images.  the user has to allow Outlook to download the images.  Is there a way around this?  Is it possible to embed the images in the HTML formatted email that is sent via Powershell?

Here is my script below:

Start-Transcript -PATH UserImportLog.txt -append

# Language specific text
$Subject = @{
  en = @"
Service Request Approval
"@
  fr = @"
Approbation d’une demande de service
"@

}
$msg = @{
  en = @"
<img src="\\sharename\Images\header_en.png" /><br>
<p><b><font color="#FF9900">Service Request Approval:</font></b></p>

<p>You have been identified as the approver of one or several Service Requests.</p>

<p><b>Your action (approval / rejection / reassignment) is important because the requests cannot be fulfilled without your approval.</b></p>

<p>Therefore, please go to the portal to validate these requests by clicking on the following link: http://test.domain.com/pages/approval-

dashboard.aspx</p>

<p></p>

<p>For further information or assistance, please contact your local Service Desk.</p>

<p>Best regards,</p>

<p>The IS Team</p>

<p>PS: This e-mail was generated automatically. Please do not reply directly to this e-mail.</p>
<img src="\\sharename\Images\footer.png"><br>
"@
  fr = @"
<img src="\\sharename\Images\header_fr.png" /><br>
<p><b><font color="#FF9900">Approbation d&rsquo;une demande de service:</font></b></p>

<p>Vous avez &eacute;t&eacute; identifi&eacute; comme &eacute;tant l&rsquo;approbateur d&rsquo;une ou plusieurs demandes de services INIT.</p>

<p><b>Votre action (validation / refus / r&eacute;assignation) est importante car aucun traitement ne pourra &ecirc;tre effectu&eacute; par les

&eacute;quipes IS tant que ces demandes ne seront pas approuv&eacute;es.</b></p>

<p>Nous vous invitons donc &agrave; vous connecter &agrave; votre portail pour valider ces demandes en cliquant sur ce lien :

http://test.domain.com/pages/approval-dashboard.aspx</p>

<p></p>

<p>Pour tout compl&eacute;ment d&rsquo;information ou assistance, n&rsquo;h&eacute;sitez pas &agrave; contacter votre Service Desk.</p>

<p>Cordialement,</p>

<p>L&rsquo;&eacute;quipe IS</p>

<p>PS: Ce message a &eacute;t&eacute; envoy&eacute; automatiquement, merci de ne pas y r&eacute;pondre</p>
<img src="\\servername\Images\footer.png"><br>
"@
 
}

#Importing the input file with two variables (emailaddress,languagecode)

Import-Csv -Path UserImport.csv | foreach-object {
     
 
     Send-MailMessage -SmtpServer servername -From "smtpaddress" -To $_.emailaddress -BodyasHTML -subject $subject[$_.languagecode] -Body $msg

[$_.languagecode] -Encoding ([System.Text.Encoding]::UTF8)
}

Stop-Transcript
0
Comment
Question by:bcapello
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 44

Accepted Solution

by:
Rainer Jeschor earned 500 total points
ID: 40578487
Hi,
yes there is. You have to use inline images. There is a nice sample on the Powershell gallery:
https://gallery.technet.microsoft.com/scriptcenter/Send-MailMessage-3a920a6d

HTH
Rainer
0
 
LVL 5

Author Comment

by:bcapello
ID: 40578894
I'm using 'Send-MailMessage' cmdlet in Powershell.  -InlineAttachments is not a valid cmdlet.
0
 
LVL 5

Author Comment

by:bcapello
ID: 40578914
I am using Powershell v2.  -inlineattachments parameter only works with v3.
0
 
LVL 69

Expert Comment

by:Qlemo
ID: 40579947
Note: The script shown modifies the standard Send-MailMessage cmdlet by adding -InlineAttachments. It works with PS2.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A brief introduction to what I consider to be the best editor for PowerShell.
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
In this Micro Video tutorial you will learn the basics about Database Availability Groups and How to configure one using a live Exchange Server Environment. The video tutorial explains the basics of the Exchange server Database Availability grou…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question