Один из способов отправки почты через smtp-сервер с помощью Powershell:
|
$smtpServer = "smtp.server.ru" $smtpFrom = "sender@server.ru" $smtpTo = "recipient@server.ru" $messageSubject = "Subject" $messageBody = "Message body" $smtp = New-Object Net.Mail.SmtpClient($smtpServer) $smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody) |
В Powershell 2.0 можно отправить письмо несколько проще:
|
Send-MailMessage -From "sender@server.ru" -To "recipient@server.ru" -Subject "Subject" -Body "Message body" |
Предварительно надо указать smtp-сервер в переменной $PSEmailServer:
|
$PSEmailServer = "smtp.server.ru" |
Или добавить к командлету Send-MailMessage параметр –SmtpServer
Update:
Если необходимо указать логин и пароль для подключения к SMTP-серверу, то нужно добавить в скрипт следующие параметры:
|
$secpasswd = ConvertTo-SecureString "password" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ("username", $secpasswd) |
И добавить к командлету параметр -credential
|
Send-MailMessage -From "sender@server.ru" -To "recipient@server.ru" -Subject "Subject" -Body "Message body" -credential $mycreds |