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
: никогда не уведомлять.
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 с использованием порядка байтов большого байта.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, 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: | True |
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 |
Входные данные
Вы можете передать путь и имена файлов вложений в Send-MailMessage
.
Выходные данные
None
Этот командлет не формирует никаких выходных данных.