Hi Guys,
Did you ever tried to send HTML formatted colour coded email using PowerShell ? I was trying to do it but didn’t get any good and useful information on it, but i finally manage to get it done.
So lets start:
For example i am sending a test email from my official account to my GMAIL account.
the script will look like this:
############## Script start Here ##########
# $smtp variable contain the name/ip of your email server ##
# $to contain the email id whom you want to send email ###
# $from contain email of sender ###
# $Subject contain subject of the email.
# In Body we are defining some HTML coding in to our email message body
# <b> means BOLD
#<br> means Break go to next Line
#<a href> provide a link to the text
# <font color=red> , give the color to the font
$smtp = "Exchange-Server"
$to = "Aman Dhally <amandhally@gmail.com>"
$from = "Aman Singh <aman.dhally@analysysmason.com>"
$subject = "This is a Test of HTML Email"
$body = "Dear <b><font color=red>$to</b></font> <br>"
$body += "We are testing <b>HTML</b> email <br>"
$body += "Click <a href=http://www.google.com>here</a> to open google <br>"
#### Now send the email using \> Send-MailMessage
send-MailMessage -SmtpServer $smtp -To $to -From $from -Subject $subject -Body $body -BodyAsHtml -Priority high
########### End of Script################
Note: Make sure you use –BodyasHtml parameter in Send-MailMessage otherwise it send as plain text format.
Now lets see how this email will look like :)
Cool!!! it look exactly how we have define it in our Script :)
you can find more HTML coded which you can use in script from here http://www.w3schools.com/html/default.asp
take care
aman dhally
I have been looking for a way for my script output that is sent in an email to look a lot "prettier" so this is a good find. Thanks!!!
ReplyDelete-Rachael
Hi Rachael.
DeleteI glad that this helps you :)
thanks
aman
The problem with send-mailmessage is that we cant give the port number as the syntax of send-mailmessage is not having that "port" option.
ReplyDeleteCan u help me in setting port number in send-mailmessage command???
Hi Vishnu,
DeleteYes Send-MailMessage in Powershell Version-2 dont have any option to define port Number, But in Powershell Version 3 we do have this option now.
i think you can try to build a .net based SendMail Message function.
http://blogs.msdn.com/b/rkramesh/archive/2012/03/16/sending-email-using-powershell-script.aspx
i think if u try and search i think u can add port number in above mentioned function {not sure but worth try}.
thanks
aman
How to modify this script to send this email to multiple recipients...
ReplyDeletethank you
Is this script can be used in Powershell version 3.0? I've tried this script but it cannot recognized "send-MailMessage -SmtpServer"..what can i do? How can i modify it? Your help will be much appreciated. Thank you.
ReplyDeleteuse send-mailmessage for PS3.
ReplyDeleteuse send-mailmessage for PS3.
ReplyDelete