Send-MailMessage
Отправляет сообщение электронной почты.
Синтаксис
All
Send-MailMessage
[[-Body] <String>]
[[-SmtpServer] <String>]
[[-Subject] <String>]
[-To] <String[]>
-From <String>
[-Attachments <String[]>]
[-Bcc <String[]>]
[-BodyAsHtml]
[-Encoding <Encoding>]
[-Cc <String[]>]
[-DeliveryNotificationOption <DeliveryNotificationOptions>]
[-Priority <MailPriority>]
[-ReplyTo <String[]>]
[-Credential <PSCredential>]
[-UseSsl]
[-Port <Int32>]
[<CommonParameters>]
Описание
Командлет Send-MailMessage
отправляет сообщение электронной почты из PowerShell.
Необходимо указать сервер протокола SMTP или сбой команды Send-MailMessage
. Используйте параметр smtpServer $PSEmailServer
, является параметром SMTP по умолчанию для PowerShell. Дополнительные сведения см. в разделе about_Preference_Variables.
Предупреждение
Командлет Send-MailMessage
устарел. Этот командлет не гарантирует безопасные подключения к SMTP-серверам. Хотя в PowerShell нет немедленной замены, рекомендуется не использовать Send-MailMessage
. Дополнительные сведения см. в заметке о совместимости платформы DE0005.
Примеры
Пример 1. Отправка сообщения электронной почты от одного человека другому пользователю
В этом примере отправляется сообщение электронной почты от одного человека другому пользователю.
Параметры from, Toи Subject требуются Send-MailMessage
. В этом примере используется переменная
$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 является сообщением, так как необязательный параметр текст не включен.
Параметр учетных данных
Параметры
-Attachments
Указывает путь и имена файлов, которые должны быть присоединены к сообщению электронной почты. Этот параметр можно использовать или передать пути и имена файлов для Send-MailMessage
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | PsPath |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Bcc
Указывает адреса электронной почты, которые получают копию почты, но не указаны в качестве получателей сообщения. Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Body
Указывает содержимое сообщения электронной почты.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | 2 |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-BodyAsHtml
Указывает, что значение параметра body содержит HTML.
Свойства параметра
Тип: | SwitchParameter |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | ФУ |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Cc
Указывает адреса электронной почты, на которые отправляется копия углерода (CC) сообщения электронной почты. Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | 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 |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | 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 |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Encoding
Указывает тип кодирования для целевого файла. Значение по умолчанию — utf8NoBOM
.
Допустимые значения для этого параметра приведены следующим образом:
-
ascii
: использует кодировку для набора символов ASCII (7-разрядный). -
ansi
. Использует кодировку текущей культуры для кодовой страницы ANSI. Этот параметр добавлен в PowerShell 7.4. -
bigendianunicode
: кодирует в формате UTF-16 с использованием большого порядка байтов. -
bigendianutf32
: кодирует в формате UTF-32 в порядке старших байтов. -
oem
. Использует кодировку по умолчанию для MS-DOS и консольных программ. -
unicode
: кодирует в формате UTF-16 в порядке байтов младшего разряда. -
utf7
: кодирует в формате UTF-7. -
utf8
: кодирует в формате UTF-8. -
utf8BOM
. Кодирует в формате UTF-8 с пометкой порядка байтов (Byte Order Mark, BOM) -
utf8NoBOM
: Кодирует в формате UTF-8 без метки порядка байтов (BOM) -
utf32
: кодирует в формате UTF-32.
Начиная с PowerShell 6.2, параметр кодировки
Начиная с PowerShell 7.4, можно использовать значение Ansi
для параметра кодировки, чтобы передать числовой идентификатор ANSI-страницы текущей культуры, не указывая его вручную.
Замечание
UTF-7* больше не рекомендуется использовать. Начиная с версии PowerShell 7.1, выводится предупреждение, если задать utf7
как параметр кодировки.
Свойства параметра
Тип: | Encoding |
Default value: | ASCII |
Допустимые значения: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | BE |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-From
Требуется параметр From. Этот параметр задает адрес электронной почты отправителя. Введите имя (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>
.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Port
Указывает альтернативный порт на SMTP-сервере. Значение по умолчанию — 25, которое является портом SMTP по умолчанию.
Свойства параметра
Тип: | Int32 |
Default value: | 25 |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Priority
Указывает приоритет сообщения электронной почты. Обычный — это значение по умолчанию. Допустимые значения этого параметра: "Обычный", "Высокий" и "Низкий".
Свойства параметра
Тип: | MailPriority |
Default value: | Normal |
Допустимые значения: | Normal, High, Low |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-ReplyTo
Указывает дополнительные адреса электронной почты (кроме адреса from) для ответа на это сообщение.
Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>
.
Этот параметр появился в PowerShell 6.2.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-SmtpServer
Указывает имя SMTP-сервера, отправляющего сообщение электронной почты.
Значение по умолчанию — это значение переменной предпочтения $PSEmailServer
. Если переменная предпочтения не задана и этот параметр не используется, команда Send-MailMessage
завершается ошибкой.
Свойства параметра
Тип: | String |
Default value: | $PSEmailServer |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | ИмяКомпьютера |
Наборы параметров
(All)
Position: | 3 |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-Subject
Параметр Subject не требуется. Этот параметр задает тему сообщения электронной почты.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | подводная лодка |
Наборы параметров
(All)
Position: | 1 |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-To
Требуется параметр To. Этот параметр задает адрес электронной почты получателя. Введите имена (необязательно) и адрес электронной почты, например Name <someone@fabrikam.com>
.
Свойства параметра
Тип: | String[] |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | False |
-UseSsl
Протокол SSL используется для установления безопасного подключения к удаленному компьютеру для отправки почты. По умолчанию SSL не используется.
Свойства параметра
Тип: | SwitchParameter |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | True |
Значение из оставшихся аргументов: | 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.