Powershell 输出在电子邮件正文中的格式不正确

Powershell Output do not comes in proper format in email body

我期待 powershell 脚本在电子邮件中的输出如下所示。

[![在此处输入图片描述][1]][1]

以上格式看起来保存在txt文件中,看起来很简单。但是当把它发送到电子邮件 BODY 时,它看起来像下面

[![在此处输入图片描述][2]][2]

powershell.exe 控制台使用等宽字体(即固定宽度字符)显示格式化输出。

您的电子邮件客户端可能没有使用等宽字体。

您可以指定电子邮件正文为 HTML,然后将格式化输出包含在 <pre> 标记中 - 这将导致大多数电子邮件客户端使用等宽字体呈现它,保留所有空格:

foreach ($BODY in $SEND )
{
    $messagebody = $messagebody + $BODY + "`r`n`n"
}

$messagebody = "<pre>$messagebody</pre>"

Send-MailMessage -From "xx@xx.com" -To "yy@yy.com" -BodyAsHtml:$true -Subject "Windows Pstage Disk Status" -Body "Disk are below 20% `n$($messagebody)" -SmtpServer smtp.xxx.com