Перейти к основному содержанию

Отправка email через PowerShell

PowerShell

Памятка по отправке email через PowerShell. Используем командлет Send-MailMessage.

Синтаксис:

Send-MailMessage
    [-Attachments <String[]>]
    [-Bcc <String[]>]
    [[-Body] <String>]
    [-BodyAsHtml]
    [-Encoding <Encoding>]
    [-Cc <String[]>]
    [-DeliveryNotificationOption <DeliveryNotificationOptions>]
    -From <String>
    [[-SmtpServer] <String>]
    [-Priority <MailPriority>]
    [-ReplyTo <String[]>]
    [[-Subject] <String>]
    [-To] <String[]>
    [-Credential <PSCredential>]
    [-UseSsl]
    [-Port <Int32>]
    [<CommonParameters>]

Ссылки

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/send-mailmessage?view=powershell-7.2

Теоретические примеры

From, To, и Subject. Команда использует переменную $PSEmailServer для SMTP сервера, поэтому в команде он не нужен.

Send-MailMessage -From 'User01 <user01@fabrikam.com>'  -To 'User02 <user02@fabrikam.com>'  -Subject 'Test mail'

Вложение.

Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>', 'User03 <user03@fabrikam.com>' -Subject 'Sending the Attachment' -Body "Forgot to send the attachment. Sending now." -Attachments .\data.csv -Priority High -DeliveryNotificationOption OnSuccess, OnFailure -SmtpServer 'smtp.fabrikam.com'

С аутентификацией.

Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'ITGroup <itdept@fabrikam.com>' -Cc 'User02 <user02@fabrikam.com>' -Bcc 'ITMgr <itmgr@fabrikam.com>' -Subject "Don't forget today's meeting!" -Credential domain01\admin01 -UseSsl

Практический пример

Отправка на указанный сервер на 587 порт с доменной аутентификацией с использованием TLS.

Send-MailMessage -From '<admin@internet-lab.ru>' -To '<test@example.com>' -Subject "Hello World!" -Credential ilab\v.pupkin -UseSsl -SmtpServer mail.internet-lab.ru -Port 587

powershell

При отправке запросят пароль.

powershell

Если SSL сертификат сервера не соответствует указанному в HELO FQDN, то получим ошибку:

Send-MailMessage : Удаленный сертификат недействителен согласно результатам проверки подлинности.

powershell

Теги

 

Похожие материалы