Скрипт на 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 | Происходит после завершения асинхронной операции по отправке электронной почты. |