Доброго времени суток друзья. Хочу поделиться с Вами не большим скриптом на powershell отправки сообщения на внешнюю почту с авторизацией на примере smtp.yandex.ru
Для отправки писем через яндекс у нас должна быть действующая почта на яндексе с помощью которой мы и будем отправлять письма. В скрипте указываем свои данные адрес отправителя, адрес получателя, заголовок письма, путь до файла если хотите, чтобы письмо было с вложением, логин и пароль от почты.
Имя | Описание | |
---|---|---|
![]() |
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.) |
Имя | Описание | |
---|---|---|
![]() |
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 | Происходит после завершения асинхронной операции по отправке электронной почты. |
#Адрес сервера SMTP для отправки $serverSmtp = "smtp.yandex.ru" #Порт сервера $port = 587 #От кого $From = "login@yandex.ru" #Кому $To = "myMail@mail.ru" #Тема письма $subject = "Письмо с вложением" #Логин и пароль от ящики с которого отправляете login@yandex.ru $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()
Теги:
Поддержи проект:
Не за что )
<?php #Входящие данные сообщения:$From = "elimsmail@gmail.com" $To = "test@gmail.com" $SMTPServer = "smtp.gmail.com" $SMTPPort = "587" $Username = "elimsmail" $Password = "yourpassword" $subject = "hello" $body = "bodytext" #формируем сообщение в формате html: $message = New-Object System.Net.Mail.MailMessage $From, $To $message.Subject = $subject $message.IsBodyHTML = $true $message.Body = $body #Отправляем: $smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort) $smtp.EnableSSL = $true $smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password) $smtp.Send($message) ?>Данный скрипт, не добавляет 1000 адресов в рассылку, а отправляет каждому сове сообщение.
Добрый день.
Данный скрипт не предназначен для массовой рассылки, хотя немного переделав можно и рассылку организовать.
Учтите тот момент, что письма уходят через SMTP стороннего сервера, в моем примере Yandex.ru так вот, если вы попытаетесь сразу отправить 1000 писем, то вас забанят!
Столкнулся с такой проблемой, дело в том, что в переменной $user = "login"
нужно указывать явный домен почты, если вы используете бизнес почту от яндекса. $user = "login@domain.ru"