Поиск…


Вступление

Полезным методом для администраторов Exchange Server является возможность отправлять сообщения электронной почты через SMTP из PowerShell. В зависимости от версии PowerShell, установленной на вашем компьютере или сервере, существует несколько способов отправки писем через powershell. Существует встроенная опция командлета, которая проста и проста в использовании. Он использует командлет Send-MailMessage .

параметры

параметр подробности
Вложения <String []> Имена файлов путей и файлов для прикрепления к сообщению. Пути и имена файлов могут быть отправлены в Send-MailMessage.
Bcc <String []> Адреса электронной почты, которые получают копию сообщения электронной почты, но не отображаются в качестве получателя в сообщении. Введите имена (необязательно) и адрес электронной почты (обязательно), например имя [email protected] или [email protected].
Тело <String_> Содержание сообщения электронной почты.
BodyAsHtml Он указывает, что содержимое находится в формате HTML.
Cc <String []> Адреса электронной почты, которые получают копию сообщения электронной почты. Введите имена (необязательно) и адрес электронной почты (обязательно), например имя [email protected] или [email protected].
мандат Указывает учетную запись пользователя, у которой есть разрешение на отправку сообщения с указанного адреса электронной почты. По умолчанию используется текущий пользователь. Введите имя, например User или Domain \ User, или введите объект PSCredential.
DeliveryNotificationOption Определяет параметры уведомления о доставке для сообщения электронной почты. Можно указать несколько значений. Уведомления о доставке отправляются в сообщении по адресу, указанному в параметре To. Допустимые значения: Нет, OnSuccess, OnFailure, Delay, Never.
кодирование Кодирование тела и объекта. Допустимые значения: ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default, OEM.
От Адреса электронной почты, с которых отправляется почта. Введите имена (необязательно) и адрес электронной почты (требуется), например Name [email protected] или [email protected].
порт Альтернативный порт на SMTP-сервере. Значение по умолчанию - 25. Доступно в Windows PowerShell 3.0.
приоритет Приоритет сообщения электронной почты. Допустимые значения: нормальный, высокий, низкий.
SmtpServer Имя SMTP-сервера, отправляющего сообщение электронной почты. Значение по умолчанию - значение переменной $ PSEmailServer.
Предмет Тема сообщения электронной почты.
к Адреса электронной почты, на которые отправляется почта. Введите имена (необязательно) и адрес электронной почты (обязательно), например имя [email protected] или [email protected]
UseSSL Использует протокол Secure Sockets Layer (SSL) для установления соединения с удаленным компьютером для отправки почты

Простой Send-MailMessage

Send-MailMessage -From [email protected] -Subject "Email Subject" -To [email protected] -SmtpServer smtp.com

Send-MailMessage с предопределенными параметрами

$parameters = @{
    From = '[email protected]'
    To = '[email protected]'
    Subject = 'Email Subject'
    Attachments =  @('C:\files\samplefile1.txt','C:\files\samplefile2.txt')
    BCC = '[email protected]'
    Body = 'Email body'
    BodyAsHTML = $False
    CC = '[email protected]'
    Credential = Get-Credential
    DeliveryNotificationOption = 'onSuccess'
    Encoding = 'UTF8'
    Port = '25'
    Priority = 'High'
    SmtpServer = 'smtp.com'
    UseSSL = $True
}

# Notice: Splatting requires @ instead of $ in front of variable name
Send-MailMessage @parameters

SMTPClient - отправить сообщение с .txt в сообщении body

# Define the txt which will be in the email body
$Txt_File = "c:\file.txt"

function Send_mail {
    #Define Email settings
    $EmailFrom = "[email protected]"
    $EmailTo = "[email protected]"
    $Txt_Body = Get-Content $Txt_File -RAW
    $Body = $Body_Custom + $Txt_Body
    $Subject = "Email Subject"
    $SMTPServer = "smtpserver.domain.com"
    $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25) 
    $SMTPClient.EnableSsl = $false
    $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)

}

$Body_Custom = "This is what contain file.txt : "

Send_mail


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow