Отправка почты с помощью Powershell

Один из способов отправки почты через smtp-сервер с помощью Powershell:

В Powershell 2.0 можно отправить письмо несколько проще:

Предварительно надо указать smtp-сервер в переменной $PSEmailServer:

Или добавить к командлету Send-MailMessage параметр –SmtpServer

Update:

Если необходимо указать логин и пароль для подключения к SMTP-серверу, то нужно добавить в скрипт следующие параметры:

И добавить к командлету параметр -credential

Запись опубликована в рубрике IT с метками , . Добавьте в закладки постоянную ссылку.

7 комментариев на «Отправка почты с помощью Powershell»

  1. Сергей говорит:

    Задаю в $Body = скрипт, указываю в -Body $body, а сообщение пустое, не могу понять, подскажите пожалуйста

  2. Михаил говорит:

    Спасибо , работает.
    А как добавить файл ?

    • Fray говорит:

      Отправка письма с вложением:

      $emailFrom = "user@yourdomain.com"
      $emailTo = "user@yourdomain.com"
      $subj = "your subject"
      $body = "your body"
      $file = "c:\file.txt"
      $smtpServer = "your smtp server"

      $att = new-object Net.Mail.Attachment($file)
      $smtp = new-object Net.Mail.SmtpClient($smtpServer)
      $msg = new-object Net.Mail.MailMessage

      $msg.From = $emailFrom
      $msg.To.Add($emailTo)
      $msg.Subject = $subj
      $msg.Body = $body
      $msg.Attachments.Add($att)

      $smtp.Send($msg)
      $att.Dispose()

  3. Сергей Попов говорит:

    Хорошо бы ещё добавить куда подкидывать данные для авторизации.

Добавить комментарий

Войти с помощью: 

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.