【发布时间】:2020-06-03 20:21:02
【问题描述】:
我正在尝试发送带有.csv 文件作为附件的电子邮件。我将它导出为 CSV,但是一旦 PS 尝试附加它,这就是显示的内容
Send-MailMessage:无法验证参数“附件”上的参数。参数为 null、空或参数集合的元素包含 null 值。提供一个 不包含任何空值的集合,然后重试该命令。
这是我的代码
$TableCont = @() # HASH TABLE TO SORT INFORMATION
foreach ($item in $Events) {
$tabledata = [ordered]@{
action = $item.action
clientASNDescription = $item.clientASNDescription
datetime = [System.TimeZoneInfo]::ConvertTime([datetime]$item.datetime, $pdtz)
}
$TableCont += New-Object psobject -Property $tabledata
}
$TableCont | Export-Csv -NoTypeInformation -Path 'C:\Scripts\test.csv' -Encoding UTF8 -Force
$raw_data = Import-Csv -Path 'C:\Scripts\test.csv'
这就是test.csv 包含的内容
action clientASNDescription datetime
------ -------------------- ---------------------
challenge 5/27/2020 1:16:18 PM
challenge 8102 5/27/2020 1:16:18 PM
challenge 5/27/2020 1:16:18 PM
您可能注意到.csv 文件中有一些空值或空白值,这就是错误所说的,空值是某种阻止发送电子邮件的方式。你知道我该如何避免它吗?
这是发送电子邮件的代码
Send-MailMessage -To bryan@example.com `
-Body "$body" -BodyAsHtml `
-SmtpServer smtp.test.net `
-Subject "TEST " `
-Attachments "$raw_data" `
-from example@example.com. `
-priority High `
-Encoding UTF8
【问题讨论】:
标签: powershell csv