powershell : sending e-mails : "newline" problem

Posted on 2009-05-19
Medium Priority
Last Modified: 2012-05-07

I have a .BAT calling a .PS1 with output redirection to a log file :
powershell -command "& 'C:\script.ps1' " > C:\script.log

The PS1 is just doing some "echo $something" sometimes
The log file is correctly generated

Then my .BAT calls another PS1 script (see below) to e-mail the log file via an Exchange server. (the log file is args0] in the .BAT)
I'm checking the e-mail with OL2007

* When I send the content as an attachment, it's OK but it's boring to have to open the file
* When I send the content inline => all newlines disappear!!! everything is on one line depending on my outlook window size

I don't know if it's related to Outlook or Powershell (or both). I can't find in OL any place to check the real e-mail content (like headers and body)
I can't find any "System.Net.Mail.MailMessage" object property to force some encoding or raw text format.

Can someone help me?
Thank you
if ($args[0]) {
	$file = $args[0]
# todo : test-path $file
	$emailFrom = "bla@bla.com"
	$emailTo = "some@one.fr"
	$subject = "powershell / logs"
# if I want it as an attached file to see newlines
	#$body = "log file attached"
# if I want it inline
	$body = Get-Content $file
	$smtpServer = "my_smtp"
	$msg = new-object System.Net.Mail.MailMessage $emailFrom, $emailTo, $subject, $body
# below When I want the log file attached, instead of inline
	#$attachment = new-object System.Net.Mail.Attachment $fichier
	$client = new-object System.Net.Mail.SmtpClient $smtpServer
} else { echo "arg missing" }

Open in new window

Question by:mchkorg

Accepted Solution

peter_field earned 2000 total points
ID: 24448866
PowerShell only outputs newlines, not a carriage return when it is redirected via CMD.


Outlook must not be able to handle this (you will find notepad doesn't like this, but wordpad does, so support on Windows is not entirely consistent).

In your PowerShell script that sends the email, try this:

$body = Get-Content $file | %{ "$_`r" }

Open in new window


Author Closing Comment

ID: 31582962
It took me some times to understand it was all about \n and \r as my log files are correct with notepad - maybe windows server's notepad is different from XP's
I didn't check in hexa


Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Often, the users face difficulty in accessing Outlook 2016 PST files on Windows 10 computer. One of the reasons behind it is the improper functioning of MS Outlook when the user tries to open it. MS Outlook suddenly stops working, or it will not op…
Office 365 has multiple features and services which are specially designed to help businesses to reduce their dependence on on-premises IT resources. It also offers great flexibility and enhanced security. But like any other data, Office 365 mailbo…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

588 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