2016-11-13 1 views
0

Я создаю скрипт, который подключается к SQL, вытаскивает набор данных и форматирует его. Затем мне нужно отправлять электронные письма менеджерам для каждой команды вместе с таблицей Html, и я не думаю, что лучший способ продолжить вторую половину.Массовое письмо из таблицы данных Powershell

данных отформатирован следующим образом: Team | Item | Manager email

Каждый предмет уникален, поэтому некоторые из них могут оказаться рядом с той же командой и тот же адрес электронной почты.
Будет что-то вроде следующего работоспособной:
For each $_.ManagerEmail in $dataset (build html output containing each unique item)

Они, очевидно, должны получать только один адрес электронной почты, а не по одному для каждого элемента.
Любые мысли или указатели, пожалуйста?

EDIT: Благодарим вас за участие. Я попытался реализовать предложение Mathias, но сценарий заканчивается без вывода или ошибок. Я знаю, что часть SQL работает нормально, поэтому проблема здесь.

foreach($ManagerSet in $Dataset.Rows |Group-Object "Manager Email") 
{ 
$Items = $ManagerSet.Group |Select-Object Item 
$Outlook = New-Object -ComObject Outlook.Application 
$Mail = $Outlook.CreateItem(0) 
$Mail.To = $ManagerSet.ManEmails 
$Mail.Subject = "Test" $Mail.Body = 'Testing. Failures include' + $managerset.itemname + $managerset.Info1 $Mail.Send() 
} 

Любые указатели на то, что я пропустил?

+1

вам, вероятно, потребуется пройти через все предметы и отсортировать их, если вы хотите отправить одно электронное письмо для нескольких элементов, я не вижу другого способа достичь этого – 4c74356b41

ответ

1

Я хотел бы предложить сгруппировать строки в таблице данных в колонке «Менеджер Электронной почты», а затем отправить одно сообщение на группу:

foreach($ManagerSet in $Datatable.Rows |Group-Object "Manager Email") 
{ 
    $Items = $ManagerSet.Group |Select-Object Item 
    # Compose email containing $Items in here. 
    # You can refer to the email address via $ManagerSet.Name 
} 

Таким образом, вы можете отправить одну электронную почту на команду/менеджер, содержащего все соответствующие предметы