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
我期待 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