powershell - Powershell - 邮件消息正文不会换行
问题描述
我已经绞尽脑汁好几个小时了。我想要的只是以下内容。
202011.txt
3 12/28/2020 4:22:56.008 PM Front MOTION
10 12/28/2020 4:23:02.619 PM Joessomebody ::ffff:10.60.0.169: Login
3 12/28/2020 4:23:30.610 PM Front MOTION
3 12/28/2020 4:24:05.131 PM Front MOTION
它在电子邮件中一直看起来像这样
3 12/28/2020 4:22:56.008 PM Front MOTION 10 12/28/2020 4:23:02.619 PM Joessomebody ::ffff:10.60.0.169: Login 3 12/28/2020 4:23:30.610 PM Front MOTION 3 2020 年 12 月 28 日下午 4:24:05.131 前运动
$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$SmtpClient.Host = "campus.Test.com"
$mailmessage.from = ("No-Reply@Test.org")
$mailmessage.To.add("Me@Test.org")
function Get-LastLinesNew
{
$v = Get-Content -Path "C:\BlueIris\log\202011.txt" -Tail 5
return ($v)
}
$mailmessage.Subject = “Alert - NVR - Blue Iris - Logs”
<#$mailmessage.Body = “Alert Body with Instruction to recipients”#>
$file = "C:\BlueIris\log\202011.txt"
$attach = Get-LastLinesNew
$attach = $attach -replace "'r'n","<br />"
$MailMessage.IsBodyHtml = $true
$attach #For Testing
$MailMessage.body = $attach -replace "'r'n","<br />"
$MailMessage.body #For Testing
pause #For Testing
try
{
$smtpclient.Send($mailmessage)
}
catch [System.Management.Automation.MethodInvocationException]
{
$MailMessage.Attachments.Dispose()
$MailMessage.Body = "File Size to large, ERROR"
$MailMessage.Subject = "NVR ERROR"
$smtpclient.Send($MailMessage)
}
我只是将功能剥离到最低限度,但它仍然失败
$MailMessage = New-Object system.net.mail.mailmessage
$attach = Get-Content -Path "\\NVR\c$\BlueIris\log\202011.txt" -Tail 5
$attach = $attach -replace "'r'n","<br />"
$MailMessage.IsBodyHtml = $True
$attach
$MailMessage.body = $attach
$MailMessage.body
pause
还有 PSVersion 5.1.19041.610
解决方案
最后,我需要将 Out-String 作为管道命令添加到 Get-Content
function Get-LastLinesNew
{
$v = Get-Content -Path "C:\BlueIris\log\202011.txt" -Tail 5 | Out-String
return ($v)
}
就这样,它像梦一样工作。我猜powershell shell内置了某种自动格式化功能,允许它在使用replace命令时将所有字符串显示为一个字符串,然后将其显示在屏幕上。一旦它进入邮件消息,它就会再次将其作为数组读取并丢失所有格式。奇怪但解决了。感谢大家!!!!
推荐阅读
- reactjs - 如何使用 React Native 中的事件侦听器和挂钩检查是否按下/按住某个键?
- python - 在 Python 中异步运行函数的多个变体
- python - 如何让这个 python GUI 运行这个可执行文件?
- python - 雪花连接器上传疑难解答,其中一些表正在上传 0 行,即使它们是非空的
- r - 错误:“gconcord”的包或命名空间加载失败
- while-loop - 在 Racket 的解释器中实现 while 循环的问题
- php - 将 _POST 存储到变量中以与页面数据一起使用
- php - PHP XML XPath,需要引用所有节点树吗?
- python - 如何在python中获得分组条形图之间的间距
- flutter - Flutter:ListView.builder 不显示数据