Поделиться через


Send-MailMessage

Отправляет сообщение электронной почты.

Синтаксис

All

Send-MailMessage
    [-To] <string[]>
    [-Subject] <string>
    [[-Body] <string>]
    [[-SmtpServer] <string>]
    -From <string>
    [-Attachments <string[]>]
    [-Bcc <string[]>]
    [-BodyAsHtml]
    [-Encoding <Encoding>]
    [-Cc <string[]>]
    [-DeliveryNotificationOption <DeliveryNotificationOptions>]
    [-Priority <MailPriority>]
    [-Credential <pscredential>]
    [-UseSsl]
    [-Port <int>]
    [<CommonParameters>]

Описание

Командлет Send-MailMessage отправляет сообщение электронной почты из PowerShell.

Необходимо указать сервер протокола SMTP или сбой команды Send-MailMessage. Используйте параметр smtpServer или задайте для переменной допустимый SMTP-сервер. Значение, назначенное $PSEmailServer, является параметром SMTP по умолчанию для PowerShell. Дополнительные сведения см. в разделе about_Preference_Variables.

Предупреждение

Командлет Send-MailMessage устарел. Этот командлет не гарантирует безопасные подключения к SMTP-серверам. Хотя в PowerShell нет немедленной замены, рекомендуется не использовать Send-MailMessage. Дополнительные сведения см. в заметке о совместимости платформы DE0005.

Примеры

Пример 1. Отправка сообщения электронной почты от одного человека другому пользователю

В этом примере отправляется сообщение электронной почты от одного человека другому пользователю.

Параметры from, Toи Subject требуются Send-MailMessage. В этом примере используется переменная по умолчанию для SMTP-сервера, поэтому параметр smtpServer не нужен.

$sendMailMessageSplat = @{
    From = 'User01 <user01@fabrikam.com>'
    To = 'User02 <user02@fabrikam.com>'
    Subject = 'Test mail'
}
Send-MailMessage @sendMailMessageSplat

Командлет Send-MailMessage использует параметр From для указания отправителя сообщения. Параметр To указывает получателя сообщения. Параметр темы использует текстовую строку тестовой почты в качестве сообщения, так как необязательный параметр текста не включен.

Пример 2. Отправка вложения

В этом примере отправляется сообщение электронной почты с вложением.

$sendMailMessageSplat = @{
    From = 'User01 <user01@fabrikam.com>'
    To = 'User02 <user02@fabrikam.com>', 'User03 <user03@fabrikam.com>'
    Subject = 'Sending the Attachment'
    Body = "Forgot to send the attachment. Sending now."
    Attachments = '.\data.csv'
    Priority = 'High'
    DeliveryNotificationOption = 'OnSuccess', 'OnFailure'
    SmtpServer = 'smtp.fabrikam.com'
}
Send-MailMessage @sendMailMessageSplat

Командлет Send-MailMessage использует параметр From для указания отправителя сообщения. Параметр To указывает получателей сообщения. Параметр Subject описывает содержимое сообщения. Параметр body — это содержимое сообщения.

Параметр вложения указывает файл в текущем каталоге, вложенном в сообщение электронной почты. Параметр Priority задает для сообщения значение High приоритета. Параметр deliveryNotificationOption задает два значения, OnSuccess и OnFailure. Отправитель получит уведомления по электронной почте, чтобы подтвердить успешность или сбой доставки сообщения. Параметр SmtpServer задает SMTP-сервер smtp.fabrikam.com.

Пример 3. Отправка электронной почты в список рассылки

В этом примере отправляется сообщение электронной почты в список рассылки.

$sendMailMessageSplat = @{
    From = 'User01 <user01@fabrikam.com>'
    To = 'ITGroup <itdept@fabrikam.com>'
    Cc = 'User02 <user02@fabrikam.com>'
    Bcc = 'ITMgr <itmgr@fabrikam.com>'
    Subject = "Don't forget today's meeting!"
    Credential = 'domain01\admin01'
    UseSsl = $true
}
Send-MailMessage @sendMailMessageSplat

Командлет Send-MailMessage использует параметр From для указания отправителя сообщения. Параметр To указывает получателей сообщения. Параметр Cc отправляет копию сообщения указанному получателю. Параметр Bcc отправляет слепую копию сообщения. Слепая копия — это адрес электронной почты, скрытый от других получателей. Параметр subject является сообщением, так как необязательный параметр текст не включен.

Параметр учетных данных указывает учетные данные администратора домена для отправки сообщения. Параметр UseSsl указывает, что протокол SSL создает безопасное подключение.

Параметры

-Attachments

Указывает путь и имена файлов, которые должны быть присоединены к сообщению электронной почты. Этот параметр можно использовать или передать пути и имена файлов для Send-MailMessage.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:PsPath

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Bcc

Указывает адреса электронной почты, которые получают копию почты, но не указаны в качестве получателей сообщения. Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Body

Указывает содержимое сообщения электронной почты.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:2
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-BodyAsHtml

Указывает, что значение параметра body содержит HTML.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:ФУ

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Cc

Указывает адреса электронной почты, на которые отправляется копия углерода (CC) сообщения электронной почты. Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Credential

Указывает учетную запись пользователя, которая имеет разрешение на выполнение этого действия. По умолчанию используется текущий пользователь.

Введите имя пользователя, например User01 или Domain01\User01. Или введите объект PSCredential, например один из командлета Get-Credential.

Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.

Замечание

Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.

Свойства параметров

Тип:PSCredential
Default value:Current user
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DeliveryNotificationOption

Задает параметры уведомления о доставке сообщения электронной почты. Можно указать несколько значений. Значение по умолчанию отсутствует. Псевдоним этого параметра — DNO.

Уведомления о доставке отправляются по адресу в параметре From.

Допустимые значения для этого параметра приведены следующим образом:

  • None: нет уведомлений.
  • OnSuccess: уведомлять о успешной доставке.
  • OnFailure: уведомлять о неудачной доставке.
  • Delay: уведомлять о задержке доставки.
  • Never: никогда не уведомлять.

Эти значения определяются как перечисление, основанное на флагах. Можно объединить несколько значений, чтобы задать несколько флагов с помощью этого параметра. Значения можно передать в параметр DeliveryNotification в виде массива значений или в виде строки, разделенной запятыми этих значений. Командлет объединяет значения с помощью операции binary-OR. Передача значений в виде массива является самым простым вариантом, а также позволяет использовать дополнение при нажатии Tab для значений.

Свойства параметров

Тип:DeliveryNotificationOptions
Default value:None
Допустимые значения:None, OnSuccess, OnFailure, Delay, Never
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:DNO

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Encoding

Указывает тип кодирования для целевого файла. Значение по умолчанию — Default.

Допустимые значения для этого параметра приведены следующим образом:

  • ASCII Использует набор символов ASCII (7-разрядный).
  • BigEndianUnicode использует UTF-16 с порядком байтов "старший байт первым".
  • Default Использует кодировку, соответствующую активной кодовой странице системы (обычно ANSI).
  • OEM Использует кодировку, соответствующую текущей кодовой странице OEM системы.
  • Unicode использует UTF-16 с младшим порядком байтов.
  • UTF7 использует UTF-7.
  • UTF8 Использует UTF-8.
  • UTF32 использует UTF-32 с маленьким порядком байтов.

Свойства параметров

Тип:Encoding
Default value:Default
Допустимые значения:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:BE

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-From

Требуется параметр From. Этот параметр задает адрес электронной почты отправителя. Введите имя (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Port

Указывает альтернативный порт на SMTP-сервере. Значение по умолчанию — 25, которое является портом SMTP по умолчанию.

Свойства параметров

Тип:Int32
Default value:25
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Priority

Указывает приоритет сообщения электронной почты. Обычный — это значение по умолчанию. Допустимые значения этого параметра: "Обычный", "Высокий" и "Низкий".

Свойства параметров

Тип:MailPriority
Default value:Normal
Допустимые значения:Normal, High, Low
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-SmtpServer

Указывает имя SMTP-сервера, отправляющего сообщение электронной почты.

Значение по умолчанию — это значение переменной предпочтения $PSEmailServer. Если переменная предпочтения не задана и этот параметр не используется, команда Send-MailMessage завершается ошибкой.

Свойства параметров

Тип:String
Default value:$PSEmailServer
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:ИмяКомпьютера

Наборы параметров

(All)
Position:3
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Subject

Параметр Subject не требуется. Этот параметр задает тему сообщения электронной почты.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:подводная лодка

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-To

Требуется параметр To. Этот параметр задает адрес электронной почты получателя. Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-UseSsl

Протокол SSL используется для установления безопасного подключения к удаленному компьютеру для отправки почты. По умолчанию SSL не используется.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входные данные

String

Вы можете передать путь и имена файлов вложений в этот командлет.

Выходные данные

None

Этот командлет не возвращает выходные данные.

Примечания

Командлет Send-MailMessage устарел. Дополнительные сведения см. в заметке о совместимости платформы DE0005. Этот командлет не гарантирует безопасные подключения к SMTP-серверам.

DE0005 предлагает использовать стороннюю библиотеку MailKit. Если вы используете Exchange Online, вы можете использовать Send-MgUserMail из пакета SDK Для Microsoft Graph PowerShell.