【问题标题】:powershell newline in Send-MailMessage bodySend-MailMessage 正文中的 powershell 换行符
【发布时间】:2018-08-27 21:33:20
【问题描述】:

如何让 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'

如果有人可以帮助我将非常感激,谢谢!

【问题讨论】:

    标签: powershell


    【解决方案1】:

    这些是您可以尝试的一些方法:

    1. 使用-BodyAsHtml 开关
    2. 使用&lt;br /&gt; (break) html 标记

    例如:

    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)

    【讨论】:

    • 确实你是对的,即使问题的答案在上面,当我用&lt;br /&gt; 替换“n”时我没有分配变量。我是个笨蛋。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2014-06-18
    • 2016-09-06
    • 2020-01-30
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多