Alexander A Manaeff -

 
 

Отправка SMTP сообщения

Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев.
Отличная замена командной строке. Возможности просто безграничные.

Модератор: UncleFather

Отправка SMTP сообщения

Сообщение UncleFather » 26 мар 2014 11:58, Ср




Пример PowerShell скрипта для отправки почты (SMTP сообщения):

Код: Выделить всё
$ConstServer = "smtp.server.ru"                                 #SMTP сервер
$ConstSMTPPort = "25"                                           #Порт SMTP сервера
$ConstFrom = "sender@server.ru"                                 #Адрес отправителя
$ConstTo = "receiver@server.ru"                                 #Адрес получателя
$ConstMessageTypeHTML = $false                                  #Формат сообщения HTML (true) или обычный текст (false)
$ConstUserName = "sender@server.ru"                             #Имя пользователя (ящика) для авторизации на SMTP сервере
$ConstUserPass = "MyPassword"                                   #Пароль для авторизации на SMTP сервере
$ConstMessageSubject = "Subject"                                #Тема сообщения
$ConstMessageBody = "Body"                                      #Тело сообщения
$SourceFile="C:\Soft\Attachment.txt"                            #Прикрепляемый файл

#Создаем необходимые объекты и задаем переменные, необходимые для отправки и формирования SMTP сообщения:
    $SmtpClient = New-Object System.Net.Mail.SmtpClient
    $Message = New-Object System.Net.Mail.MailMessage
    $SmtpClient.Host = $ConstServer
    $SmtpClient.Port = $ConstSMTPPort
    $Message.From = $ConstFrom
    $Message.To.Add($ConstTo)
    $Message.BodyEncoding = [System.Text.Encoding]::UTF8
    $Message.SubjectEncoding = [System.Text.Encoding]::UTF8
    $Message.IsBodyHtml = $ConstMessageTypeHTML
    $Message.Subject = $ConstMessageSubject
    $SmtpClient.Credentials= New-Object System.Net.NetworkCredential($ConstUserName , $ConstUserPass)
    $Message.Attachments.Add($SourceFile)
    $Message.Body = (get-date).ToString() + $ConstMessageBody
    $SmtpClient.Send($Message) #Отправляем SMTP сообщение
    if ($?) { # Если SMTP сообщение было отправлено успешно, то
       write-host "Сообщение успешно отправлено"
    } else { #Если SMTP сообщение не удалось отправить, то
       write-host "Сообщение не отправлено. Ошибка:" $Error[0].ToString()
    }
    $Message.Dispose() #Отправляем сообщение QUIT на SMTP-сервер (правильно завершаем TCP-подключение и освобождаем все ресурсы, используемые текущим экземпляром класса SmtpClient)
}




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










Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram
Изображение
Изображение
Изображение
Изображение
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1343
Зарегистрирован: 17 авг 2004 16:20, Вт



Вернуться в Windows PowerShell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff - нижняя граница
Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования

Счетчик посещений