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

Скрипт на powershell отправки сообщения на внешнюю почту с авторизацией smtp.yandex.ru

#Адрес сервера SMTP для отправки
$serverSmtp = "smtp.yandex.ru"
#Порт сервера
$port = 587
#От кого
$From = "[email protected]"
#Кому
$To = "[email protected]"
#Тема письма
$subject = "Письмо с вложением"
#Логин и пароль от ящики с которого отправляете [email protected]
$user = "login"
$pass = "12345678"
#Путь до файла
$file = "C:\arhive.zip"
#Создаем два экземпляра класса
$att = New-object Net.Mail.Attachment($file)
$mes = New-Object System.Net.Mail.MailMessage
#Формируем данные для отправки
$mes.From = $from
$mes.To.Add($to)
$mes.Subject = $subject
$mes.IsBodyHTML = $true
$mes.Body = "<h1>Тестовое письмо</h1>"
#Добавляем файл
$mes.Attachments.Add($att)
#Создаем экземпляр класса подключения к SMTP серверу
$smtp = New-Object Net.Mail.SmtpClient($serverSmtp, $port)
#Сервер использует SSL
$smtp.EnableSSL = $true
#Создаем экземпляр класса для авторизации на сервере яндекса
$smtp.Credentials = New-Object System.Net.NetworkCredential($user, $pass);
#Отправляем письмо, освобождаем память
$smtp.Send($mes)
$att.Dispose()

Класс System.Net.Mail.MailMessage

Конструкторы

Имя Описание
MailMessage() Инициализирует пустой экземпляр класса MailMessage.
MailMessage(MailAddress, MailAddress) Инициализирует новый экземпляр класса MailMessage, используя указанные объекты класса MailAddress.
MailMessage(String, String) Инициализирует новый экземпляр класса MailMessage, используя указанные объекты класса String.
MailMessage(String, String, String, String) Инициализирует новый экземпляр класса MailMessage

Свойства

Имя Описание
AlternateViews Возвращает коллекцию вложений, используемую для хранения альтернативных форм тела сообщения.
Attachments Возвращает коллекцию вложений, используемую для хранения данных, вложенных в это сообщение электронной почты.
Bcc Возвращает коллекцию адресов, содержащую получателей скрытой копии (BCC) данного сообщения электронной почты.
Body Получает или задает основную часть сообщения.
BodyEncoding Получает или задает кодировку, используемую для кодирования тела сообщения.
BodyTransferEncoding Получает или задает кодирование передачи, используемое для кодирования тела сообщения.
CC Возвращает коллекцию адресов, содержащую получателей копии (CC) данного сообщения электронной почты.
DeliveryNotificationOptions Получает или задает уведомления о доставке данного сообщения электронной почты.
From Получает или задает адрес отправителя данного сообщения электронной почты.
Headers Возвращает заголовки электронной почты, передаваемые с данным сообщением.
HeadersEncoding Получает или задает кодировку, используемую для пользовательских заголовков данного сообщения электронной почты.
IsBodyHtml Получает или задает значение, показывающее, имеет ли основная часть почтового сообщения формат HTML.
Priority Получает или задает приоритет данного сообщения электронной почты.
ReplyTo Устаревшее. Получает или задает адрес ReplyTo для данного почтового сообщения.
ReplyToList Получает или задает список адресов для ответа для данного сообщения электронной почты.
Sender Получает или задает адрес отправителя данного сообщения электронной почты.
Subject Получает или задает строку темы для данного сообщения электронной почты.
SubjectEncoding Получает или задает кодировку, используемую для темы данного сообщения электронной почты.
To Возвращает коллекцию адресов, содержащую получателей данного сообщения электронной почты.

Методы

Имя Описание
Dispose() Освобождает все ресурсы, используемые объектом MailMessage.
Dispose(Boolean) Освобождает неуправляемые ресурсы, используемые объектом MailMessage, а при необходимости освобождает также управляемые ресурсы.
Equals(Object) Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)Finalize
Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. (Унаследовано от Object.)
GetHashCode Играет роль хэш-функции для определённого типа. (Унаследовано от Object.)
GetType Возвращает объект класса Type для текущего экземпляра. (Унаследовано от Object.)
MemberwiseClone Создает «поверхностную» копию текущего объекта. (Унаследовано от Object.)
ToString Возвращает строковое представление текущего объекта. (Унаследовано от Object.)

Класс Net.Mail.SmtpClient

Конструкторы

Имя Описание
SmtpClient() Инициализирует новый экземпляр класса SmtpClient, используя параметры файла конфигурации.
SmtpClient(String) Инициализирует новый экземпляр класса SmtpClient, который отправляет электронную почту с помощью указанного сервера SMTP.
SmtpClient(String, Int32) Инициализирует новый экземпляр класса SmtpClient, который отправляет электронную почту с помощью указанного сервера SMTP и порта.

Свойства

Имя Описание
AlternateViews Возвращает коллекцию вложений, используемую для хранения альтернативных форм тела сообщения.
ClientCertificates Указывает, какие сертификаты следует использовать для установки SSL-подключения.
Credentials Возвращает или задает учетные данные, используемые для проверки подлинности отправителя.
DeliveryFormat Получает или задает формат доставки, используемый SmtpClient для отправки электронной почты.
DeliveryMethod Указывает, как будут обрабатываться исходящие сообщения электронной почты.
EnableSsl Указывает, использует ли SmtpClient протокол SSL для шифрования подключения.
Host Возвращает или задает имя или IP-адрес хоста, используемого для SMTP-транзакций.
PickupDirectoryLocation Возвращает или задает папку, в которой приложения сохраняют почтовые сообщения для обработки локальным SMTP-сервером.
Port Возвращает или задает порт, используемый для SMTP-транзакций.
ServicePoint Возвращает сетевое подключение, используемое для передачи сообщения электронной почты.
TargetName Получает или задает имя поставщика услуг (SPN) для проверки подлинности при использовании расширенной защиты.
Timeout Возвращает или задает значение, указывающее промежуток времени, после которого для синхронного вызова Send истечет время тайм-аута.
UseDefaultCredentials Возвращает или задает значение Boolean, которое управляет отправкой учетных данных DefaultCredentials вместе с запросами.

Методы

Имя Описание
Dispose() Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient.
Dispose(Boolean) Отправляет сообщение QUIT на SMTP-сервер, правильно завершает TCP-подключение и освобождает все ресурсы, используемые текущим экземпляром класса SmtpClient, и при необходимости освобождает управляемые ресурсы.
Equals(Object) Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции по очистке перед тем, как объект будет утилизирован сборщиком мусора. (Унаследовано от Object.)
GetHashCode Играет роль хэш-функции для определённого типа. (Унаследовано от Object.)
GetType Возвращает объект класса Type для текущего экземпляра. (Унаследовано от Object.)
MemberwiseClone Создает «поверхностную» копию текущего объекта. (Унаследовано от Object.)
OnSendCompleted Создает событие SendCompleted.
Send(MailMessage) Отправляет указанное сообщение на сервер SMTP для доставки.
Send(String, String, String, String) Отправляет указанное сообщение электронной почты на сервер SMTP для доставки. Отправитель, получатели, тема и основная часть сообщения указываются с помощью объектов String.
SendAsync(MailMessage, Object) Отправляет указанное сообщение электронной почты на сервер SMTP для доставки. Этот метод не блокирует вызывающий поток и позволяет вызывающей стороне передать объект в метод, вызванный после завершения операции.
SendAsync(String, String, String, String, Object) Отправляет сообщение электронной почты на сервер SMTP для доставки. Отправитель, получатели, тема и основная часть сообщения указываются с помощью объектов String. Этот метод не блокирует вызывающий поток и позволяет вызывающей стороне передать объект в метод, вызванный после завершения операции.
SendAsyncCancel Отменяет асинхронную операцию отправки сообщения электронной почты.
SendMailAsync(MailMessage) Отправляет указанное сообщение SMTP-серверу для доставки в качестве асинхронной операции.
SendMailAsync(String, String, String, String) Отправляет указанное сообщение SMTP-серверу для доставки в качестве асинхронной операции. . Отправитель, получатели, тема и основная часть сообщения указываются с помощью объектов String.
ToString Возвращает строковое представление текущего объекта. (Унаследовано от Object.)

События

Имя Описание
SendCompleted Происходит после завершения асинхронной операции по отправке электронной почты.