[英]PowerShell e-mail - sending .csv in body with HTML
我有一個Powershell腳本,該腳本運行mysql查詢,並將輸出導出到.csv文件。
然后導入它,將其發送到$body
變量並通過電子郵件發送。
這是代碼
### Script to write body of e-mail to $body variable ###
$body = @"
CHECK 4A - MONTH DATABASE REPORT
Row count should be between 3-4k, but less on a Monday.
"@ + (Import-CSV C:\Users\*****\Documents\Reports\result4A.csv | Out-String)
我也想在電子郵件中使用一些HTML,只是為了使其更易於閱讀,所以我使用了-BodyAsHtml
參數:
### Send e-mail ###
send-mailmessage -from " Daily Check <server@company.com>" -to "Admin <e-mail@company.com>" -BodyAsHtml -subject "Daily Server Checks Report" -body "$body" -priority High -dno onSuccess, onFailure -smtpServer **.*.*.**
問題在於,這意味着.csv文件未正確顯示在電子郵件中,因為電子郵件正文已更改為HTML。 有沒有辦法解決? 如果可能,我想保留導出到.csv的解決方案。
$csvHTML = Import-Csv C:\Users\*****\Documents\Reports\result4A.csv | ConvertTo-Html
$body = @"
....
"@ + ($csvHTML[5..($csvHTML.length-2)] | Out-String)
這會將CSV
文件轉換為HTML
。 然后,您可以簡單地選擇包含CSV的<table></table>
標簽(跳過前5行和后2行)並將其添加到電子郵件正文中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.