This is an old revision of the document!
Отправка почты из PowerShell
Локальная отправка
Мы можем отправлять почту из PowerShell с одного из Exchange следующим образом. Пример отправки сообщения через конкретный сервер без вложения:
Send-MailMessage -To recipient@arasaka.local -from sender@arasaka.local -Subject 'Mail Subject' -SmtpServer 10.88.88.22 -Body 'Email body' -Encoding UTF8
А вот пример с вложением в виде текстового файла:
Send-MailMessage -To recipient@arasaka.local -from sender@arasaka.local -Subject 'Mail Subject' -SmtpServer 10.88.88.22 -Body 'Email body' -Attachments 'C:\somefile.txt' -Encoding UTF8
Отправка почты с авторизацией по SMTP
Данный PowerShell код отправит почту по SMTP с авторизацией пользователя Exchange.
$cred = New-Object System.Management.Automation.PSCredential (
"testuser@domain.ru",
(ConvertTo-SecureString "SomePassw0rd" -AsPlainText -Force)
)
Send-MailMessage `
-SmtpServer "server.domain.ru" `
-Port 25 `
-Credential $cred `
-From "testuser@domain.ru" `
-To "testuser2@domain.ru" `
-Subject "Test message" `
-Body "Test SMTP message from PowerShell"
