我正在尝试编写一个
的脚本读取包含3列的CSV文件:电子邮件,服务器,日期。电子邮件地址重复,但没有重复的服务器
为CSV文件
从CSV文件向每个不同的电子邮件地址发送一封电子邮件,其中包含服务器列表及其日期格式。
$Email_Template = "C:\template.html"
[String] $Email_Template = Get-Content "Email_Template"
$csv = Import-Csv "C:\file.csv"
$emailarray = @()
foreach ($test in $csv) {
$emailobject = New-Object PSObject |
Add-Member -Name Email -Value $test.Email -MemberType NoteProperty -PassThru |
Add-Member -Name Email -Value $test.Server -MemberType NoteProperty -PassThru |
Add-Member -Name Email -Value $test.Date -MemberType NoteProperty -PassThru
$emailarray += $emailobject
}
foreach ($test in $EmailArray) {
try {
$Parameters = @{
#email variables (from cc, etc.)
bodyashtml = $true
}
$Parameters += @{to = $test.Email}
Send-MailMessage @Parameters -ErrorAction Stop
}
}
我已成功通过电子邮件名称创建表格,但在引用要添加到与其关联的电子邮件中的内容时遇到了问题。
答案 0 :(得分:0)
您正在丢失$ emailobject的email属性的值,因为您使用相同的名称多次调用Add-Member。
构造对象的一种更简洁的方法是使用字典:
$emailobject = New-Object PSObject -Property @{"Email"=$test.Email; "Server" = $test.Server ; "Date" = $test.Date}
将创建一个包含3个属性的电子邮件对象。