[英]Powershell using send-mailmessage
我有以下代碼:
$file = Get-ChildItem -Path C:\MonitorTest | where {$_.LastWriteTime -lt (Get-Date).AddHours(-4) }
$message = @{
to="sender@mail.com"
from="monitoring@mail.com"
subject="testing monitoring"
smtpserver="mail.com"
bodyashtml=$true
body="$file.Name"
}
Send-MailMessage @message
我所擁有的是在 Body 上,使用“”將變量 $file.name 的內容打印在一行中。 (新建文本文檔(2)-Copy.txt 新建文本文檔(2).txt 新建文本文檔(3)-Copy.txt)
如果我只有 select $file.name 並運行它,它將在行中打印它 New Text Document (2) - Copy.txt New Text Document (2).txt New Text Document (3) - Copy.txt
如果我運行 send-mailmessage @message,email 會通過,但它在一條線上就好像只運行“$file.name”
這些是 $file 的內容:
Directory: C:\MonitorTest
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/13/2020 3:57 PM 0 New Text Document (2) - Copy.txt
-a---- 8/13/2020 3:57 PM 0 New Text Document (2).txt
-a---- 8/13/2020 3:57 PM 0 New Text Document (3) - Copy.txt
-a---- 8/13/2020 3:57 PM 0 New Text Document (4) - Copy.txt
-a---- 8/13/2020 3:57 PM 0 New Text Document (5) - Copy.txt
-a---- 8/13/2020 2:13 PM 0 New Text Document.txt
任何人都可以幫我解決這個問題嗎? 我正在瘋狂地試圖解決這個問題。
提前致謝!
您發送的是 html,因此您需要 html 換行符<br>
,可以通過以下方式實現:
$filesHtml = (Get-ChildItem -Path C:\MonitorTest | where {$_.LastWriteTime -lt (Get-Date).AddHours(-4) } | Select-Object -ExpandProperty Name) -join "<br>" | Out-String
$message = @{
to="sender@mail.com"
from="monitoring@mail.com"
subject="testing monitoring"
smtpserver="mail.com"
bodyashtml=$true
body=$filesHtml
}
Send-MailMessage @message
或者您可以以文本形式發送:
$files = Get-ChildItem -Path C:\MonitorTest | Where-Object {$_.LastWriteTime -lt (Get-Date).AddHours(-4) } | Select-Object -ExpandProperty Name | Out-String
$message = @{
to="sender@mail.com"
from="monitoring@mail.com"
subject="testing monitoring"
smtpserver="mail.com"
bodyashtml=$false
body=$files
}
Send-MailMessage @message
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.