Сообщение электронной почты Powershell, как поместить разрыв строки в переменную тела

Я ищу строку в нескольких файлах в папке. то я хотел бы отправить по электронной почте все эти папки, в которых есть эта строка. Я все понял и скорректировал ...

Я ищу строку в нескольких файлах в папке. то я хотел бы отправить по электронной почте все эти папки, в которых есть эта строка. Я все понял и скорректировал ...

Я ищу строку в нескольких файлах в папке. Если я получу эту строку, я хотел бы отправить по электронной почте все эти папки, в которых есть эта строка. Я понял все это и настроил свой формат так, как хочу.

Проблема в том, что когда я отправляю электронное письмо, его содержимое отображается в одной строке. Я хочу, чтобы этот текст был разбит по слову. Ниже приведен код:

$find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config" 
$boards = $find.Path | Out-String 

[array]$split = $boards.Split("\") 
$count = $split.Count

$out = for ($i=0; $i -le $count; $i++) {
    $split[$i+3]
    $i = $i + 3
    }

$out2 = $out | Out-String

Send-mailmessage -from "" -to "" -subject "Test" -body $out2 -BodyAsHtml -priority  High -dno onFailure -smtpServer 

Проблема в том, что тело отображается, как показано ниже: ABC ABC2

Но я хочу, чтобы тело было:

ABC
ABC2 

Я также пробовал получить вывод в текстовый файл и использовал -Raw с gci:

$find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config" 
$boards = $find.Path | Out-String 

[array]$split = $boards.Split("\") 
$count = $split.Count

$out = for ($i=0; $i -le $count; $i++) {
    $split[$i+3]
    $i = $i + 3
    }

$out | Out-file -FilePath C:\Test.txt 
$body = Get-content C:\Test.txt -Raw 


Send-mailmessage -from "" -to "" -subject "Test" -body $body -BodyAsHtml -priority  High -dno onFailure -smtpServer 

Я действительно использовал Out-String и -Raw с gci и Я на V4. Не уверен, что мне не хватает. Когда я выводю файл, это правильный формат с разрывами строк, но не при отправке электронной почты. Я бы предпочел не создавать текстовый документ, а просто использовать переменную в теле.

Спасибо

0
задан 22 September 2017 в 17:02
1 ответ

Содержимое вашего сообщения НЕ является HTML, но вы используете -bodyAsHtml для отправки сообщения mail. Ваше тело - это просто текст, и когда вы указываете -bodyAsHTML , разрывы строк удаляются. Удаление -bodyAsHtml должно решить вашу проблему.

В документе HTML разрывы строк представлены как

,
, и только сохраняются, когда они появляются внутри

 . 

0
ответ дан 5 December 2019 в 07:26

Теги

Похожие вопросы