новая строка powershell в теле Send-MailMessage - PullRequest
0 голосов
/ 28 августа 2018

как мне заставить Send-MailMessage добавить новые строки в тело письма? Отдельный скрипт PowerShell генерирует некоторые файлы, я считываю содержимое в переменную и отправляю его в виде тела следующим образом:

$fileContent = Get-Content -Path $file | Out-String
Send-MailMessage -BodyAsHtml -Body $fileContent -From $f -SmtpServer $s -To $t -Subject $s -Verbose

$ fileContent в настоящее время будет иметь

`r`n 

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

$fileContent -replace  "`r`n","<br />"
$fileContent -replace  '`r`n','`r`n`r`n`r`n'

Если кто-нибудь может помочь, я был бы очень признателен, спасибо!

1 Ответ

0 голосов
/ 28 августа 2018

Вот некоторые из подходов, которые вы можете попробовать:

  1. Использование переключателя -BodyAsHtml
  2. Использование html-тега <br /> (break)

например:

powershell -ExecutionPolicy ByPass -Command Send-MailMessage -BodyAsHtml -SmtpServer 'myemail.server.com' -To 'Mr To <to@server.com>' -From 'Mr From <from@server.com>' -Subject 'Powershell BodyAsHtml' -Body 'I am just adding some random words here<br />and here also Line 2.<br />And also here Line 3.<br />and one more time Line 4.<br />EOF<br />'"

Индикатор новой строки PowerShell: `n (backtick-n)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...