I used to use blat to send email in powershell 1 but in powershell v2 we have a nice Send-MailMessage cmdlet Carriage Return New Line does not show in OutlookLine breaks are removed in posts made in plain text format in OutlookMethod 1. Disable the feature that removes extra line breaks This method disables the feature for all plain text items. To do this, follow these steps: For Outlook 2013 and Outlook 2010:
For Outlook 2007 or earlier versions:
Method 2. Use HTML or Rich Text format You can use HTML or Rich Text formats when you create new items. Or you can change existing posts to these formats. Sending a HTML email$To = "Kevin <k@blah.com>" $From = "AD Reporting <ADReporting@blah.com>" $smtpServer = "mail.blah.com" $message =Get-QADGroupMember "domain admins" | select name, samaccountname, lastlogontimestamp | ConvertTo-Html | Out-String Send-MailMessage -From $From -To $To -SmtpServer $smtpServer -Subject test -Body $message -BodyAsHtml This time prefix the HTML with a header $preHTMLMessage = "Please go through this list and look for any unnecessary accounts <H2>Domain Admins.</H2>" $postHTMLMessage = "<br> This script was run by " + $env:username + " on " + $env:COMPUTERNAME + " and ran for $([Math]::Round($ElapsedTime.TotalMinutes,0)) Minutes" $message = Get-QADGroupMember "domain admins" | select name, samaccountname, lastlogontimestamp | ConvertTo-Html -preContent $preHTMLMessage -PostContent $postHTMLMessage | Out-String Send-MailMessage -From $From -To $To -SmtpServer $smtpServer -Subject test -Body $message -BodyAsHtml Nice page with some good examples how to change background add styles etc. Sending an email via GmailNeed a cleaner way to store password$To = "foo@gmail.com" $From = "reporting@blah.com" $BadPassword = "badcleartextpassword" $Subject = "Test" $Body = "Test email via gmail " #$SMTPMessage = New-Object System.Net.Mail.MailMessage($From,$To,$Subject,$HTML) $SMTPMessage = New-Object System.Net.Mail.MailMessage $SMTPMessage.From = $From Foreach ($email in $To) { $SMTPMessage.To.Add($email) } $SMTPMessage.Subject = $Subject $SMTPMessage.body = $HTML $SMTPServer = "smtp.gmail.com" $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($From, $BadPassword); $SMTPClient.Send($SMTPMessage)
|
Powershell >