Solved

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

Posted on 2015-01-29
4
908 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
  • 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 68

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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

This article will help you understand what HashTables are and how to use them in PowerShell.
A procedure for exporting installed hotfix details of remote computers using powershell
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

708 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now