2016-03-10 2 views
0

Я пытаюсь написать скрипт, которыйCSV для динамических таблиц в HTML Email

  1. читает файл CSV, который имеет 3 колонки: адрес электронной почты, сервер, дата. Есть повторяющиеся адреса электронной почты, но не дублирующие серверы

  2. не делает таблицу для каждого отдельного адреса электронной почты из CSV файла

  3. отправляет один адрес электронной почты для каждого отдельного адреса электронной почты из CSV-файла со списком серверов и их даты в формате таблицы HTML.

$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

Вы теряете значение свойства email объекта $ emailobject, потому что вы вызываете Add-Member несколько раз с тем же именем.

уборщик способ создания объекта является использование словаря:

$emailobject = New-Object PSObject -Property @{"Email"=$test.Email; "Server" = $test.Server ; "Date" = $test.Date} 

Создаст объект электронной почты с 3-мя свойствами.

+0

Спасибо, Avvi! Не знал, что я могу это сделать. –

+0

Не беспокойтесь! Рад помочь – Avner

Смежные вопросы