繁体   English   中英

发送带有换行符的正确电子邮件

[英]Sending a properly email with line breaks

我正在尝试使用Send-MailMessage.在电子邮件的正文中发送日志文件的内容Send-MailMessage. 我尝试使用`r`n无效。

我在Outlook中的电子邮件如下所示。

在此处输入图片说明

我想要的邮件输出:

在此处输入图片说明

这是我的脚本:

$SourceDir = "C:\Temp\"
#$GCI_Fiter = '*.txt'
$Include=@("*.log","*.txt")

$FileList = Get-ChildItem -LiteralPath $SourceDir -Include "$Include" -File

$myvar = @()
foreach ($FL_Item in $FileList)   {
#$FLI_Content = Get-Content -LiteralPath $FL_Item.FullName
#$ExceptionLines = $FLI_Content | Select-String 'Exception' | ForEach-Object {$_.ToString().Trim()}
#if ($FLI_Content Get-Content -Path $file.FullName | Select-String "Exception" )
#){

$results = Get-Content -Path $FL_Item.FullName | Select-String "Exception"

if ($results) {
    Write-Host "$($FL_Item.FullName) Exception found." -BackgroundColor Cyan
    #$myvar += $results
    $LINE = "$($FL_Item.Name)" + ":"
    $EMAILBODY = $LINE + "`r`n"
    $myvar += $EMAILBODY + $results + "`r`n"
    Write-Output "Exception found"
}
else {
    Write-Host "$($FL_Item.FullName) No exception found." -BackgroundColor Green
    Write-Output "No exception found"
}

#}
#$ExceptionLines = $FLI_Content | Select-String -SimpleMatch 'Exception olustu'
#$ExceptionLines = $FLI_Content | Select-String -SimpleMatch 'Exception' | ForEach-Object {$_.ToString().Trim()}
#$FLI_Content

}

return $myvar


        $MailBody = "Hi,`r

        Exception logs. `r

        "+$myvar+"

        `r  
        `r
        Regards,
        "

Send-MailMessage -to $emailto -Subject $subject -SmtpServer $smtp -From $fromaddress -Body $MailBody -Encoding ([System.Text.Encoding]::UTF8) -Credential $creds

另一种方法是使用$Outlook = New-Object -ComObject Outlook.Application 我遇到过类似的情况。 例如,如果您使用的是Outlook,请使用以下代码,但是您可以在$ Mail.Body中设置电子邮件的格式,这就是他们将如何接收电子邮件的方式。

$Outlook = New-Object -ComObject Outlook.Application
$Mail = $Outlook.CreateItem(0)
$Mail.To = "usermail@something.com"
$Mail.Subject = "Powershell"
$Mail.Body ="email text here"
$Date = (Get-Date).tostring("yyyyMMdd")
$File = "C:\Users\user\Desktop\log$Date.csv"
$Mail.Attachments.Add($File)
$Mail.Send()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM