
Мне нужно найти способ отправить письма 30 людям, я не хочу, чтобы они отправляли копии, я хочу, чтобы каждый из них получил письмо, так как оно выглядит так, как будто это письмо только для него. Я знаю, что могу использовать Outlook и оставить поле «кому» пустым, а в поле «СК» поместить только эти адреса электронной почты. Это хорошее решение, но мне нужно его автоматизировать. Я не могу найти способ использовать send-mailmessage powershell cmd, чтобы сделать то же самое. Самое близкое, что я могу сделать, это отправить его себе, а затем всем в качестве СК, или запустить цикл, отправляя одно письмо за другим с аргументом -to. Оба варианта мне не подходят. Можно ли как-то это сделать?
решение1
Согласен с Дэвидом.
На основе моих исследований, параметр -To является обязательным параметром, который может помочь предотвратить его превращение в спам-движок. Так что для вашего требования Powershell вы можете попробовать ввести свой собственный адрес электронной почты или что-то вроде "[email protected]" в поле "Кому".
решение2
Запрошенные действия недоступны с помощью командлета Send-MailMessage, однако вы можете использовать класс .net, net.mail
чтобы добиться желаемого. Пожалуйста, посмотрите ниже, что вы можете включить в свой скрипт.
$SMTPserver = "<SMTP Endpoint>"
$fromAddress = "[email protected]"
$subject = "<Subject>"
$emailbody = "<body of email>"
$bccAddresses = @("[email protected]","[email protected]","[email protected]")
$mailer = new-object Net.Mail.SMTPclient($SMTPserver)
$msg = new-object Net.Mail.MailMessage
Foreach ($emailAddress in $bccAddresses){
$msg.bcc.add($emailAddress)
}
$msg.Subject = $Subject
$msg.Body = $emailbody
$msg.From = $fromAddress
$mailer.send($msg)