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


Send-MailMessage

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

Синтаксис

Send-MailMessage
    [-Attachments <String[]>]
    [-Bcc <String[]>]
    [[-Body] <String>]
    [-BodyAsHtml]
    [-Encoding <Encoding>]
    [-Cc <String[]>]
    [-DeliveryNotificationOption <DeliveryNotificationOptions>]
    -From <String>
    [[-SmtpServer] <String>]
    [-Priority <MailPriority>]
    [-ReplyTo <String[]>]
    [[-Subject] <String>]
    [-To] <String[]>
    [-Credential <PSCredential>]
    [-UseSsl]
    [-Port <Int32>]
    [<CommonParameters>]

Описание

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

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

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

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

Примеры

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

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

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

Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'

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

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

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

Send-MailMessage -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 использует параметр From , чтобы указать отправителя сообщения. Параметр To указывает получателей сообщения. Параметр Subject описывает содержимое сообщения. Параметр Body — это содержимое сообщения.

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

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

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

Send-MailMessage -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

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

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

Параметры

-Attachments

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

Type:String[]
Aliases:PsPath
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Bcc

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Body

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

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-BodyAsHtml

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

Type:SwitchParameter
Aliases:BAH
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Cc

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

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

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

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

Примечание

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

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DeliveryNotificationOption

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

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

Ниже приведены допустимые значения для этого параметра.

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

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

Type:DeliveryNotificationOptions
Aliases:DNO
Accepted values:None, OnSuccess, OnFailure, Delay, Never
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Encoding

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

Ниже приведены допустимые значения для этого параметра.

  • ascii: использует кодировку для кодировки 7-разрядной кодировки ASCII.
  • bigendianunicode: кодирует в формате UTF-16 с использованием порядка байтов большого байта.
  • bigendianutf32: кодирует в формате UTF-32 с использованием порядка байтов большого байта.
  • oem: использует кодировку по умолчанию для MS-DOS и консольных программ.
  • unicode: кодирует в формате UTF-16 с использованием порядка байтов с маленьким байтом.
  • utf7: кодирует в формате UTF-7.
  • utf8: кодирует в формате UTF-8.
  • utf8BOM: кодирует в формате UTF-8 с меткой порядка байтов (BOM)
  • utf8NoBOM: кодирует в формате UTF-8 без метки порядка байтов (BOM)
  • utf32: кодирует в формате UTF-32.

Начиная с PowerShell 6.2, параметр Encoding также разрешает числовые идентификаторы зарегистрированных кодовых страниц (например -Encoding 1251, ) или строковые имена зарегистрированных кодовых страниц (например -Encoding "windows-1251", ). Дополнительные сведения см. в документации по .NET для Encoding.CodePage.

Type:Encoding
Aliases:BE
Accepted values:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:Named
Default value:UTF8NoBOM
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-From

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Port

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

Type:Int32
Position:Named
Default value:25
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Priority

Указывает приоритет сообщения электронной почты. Значение по умолчанию: Normal. Допустимые значения для этого параметра: Normal, High и Low.

Type:MailPriority
Accepted values:Normal, High, Low
Position:Named
Default value:Normal
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ReplyTo

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

Этот параметр появился в PowerShell 6.2.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SmtpServer

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

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

Type:String
Aliases:ComputerName
Position:3
Default value:$PSEmailServer
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Subject

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

Type:String
Aliases:sub
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-To

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-UseSsl

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

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

String

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

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

None

Этот командлет не формирует никаких выходных данных.