Send-MailMessage
发送电子邮件。
语法
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>]
说明
cmdlet Send-MailMessage
从 PowerShell 内发送电子邮件。
必须 (SMTP) 服务器指定简单邮件传输协议,否则命令 Send-MailMessage
将失败。 使用 SmtpServer 参数或将 $PSEmailServer
变量设置为有效的 SMTP 服务器。
分配给 $PSEmailServer
的值是 PowerShell 的默认 SMTP 设置。 有关详细信息,请参阅 about_Preference_Variables。
示例
示例 1:从一个人向另一个人发送电子邮件
本示例将一封电子邮件从一个人发送到另一个人。
需要 From、To 和 Subject 参数Send-MailMessage
。 此示例使用 SMTP 服务器的默认 $PSEmailServer
变量,因此不需要 SmtpServer 参数。
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail'
cmdlet 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'
cmdlet 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
cmdlet 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: | False |
Accept wildcard characters: | False |
-Body
指定电子邮件的内容。
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BodyAsHtml
指定 Body 参数的值包含 HTML。
Type: | SwitchParameter |
Aliases: | BAH |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Cc
指定将抄送副本 (抄送) 电子邮件的电子邮件地址。 输入姓名 (可选) 和电子邮件地址,例如 Name <someone@fabrikam.com>
。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
指定有权执行此操作的用户帐户。 默认为当前用户。
键入用户名,例如 User01 或 Domain01\User01。 或者,输入 PSCredential 对象,例如 cmdlet 中的 Get-Credential
一个对象。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DeliveryNotificationOption
指定电子邮件的传递通知选项。 你可以指定多个值。 默认值为“None”。 此参数的别名为 DNO。
传递通知将发送到 From 参数中的地址。
此参数的可接受值如下所示:
- 无:无通知。
- OnSuccess:如果传递成功,则发出通知。
- OnFailure:如果传递失败,则发出通知。
- 延迟:如果传递延迟,则通知。
- 从不:从不通知。
Type: | DeliveryNotificationOptions |
Aliases: | DNO |
Accepted values: | None, OnSuccess, OnFailure, Delay, Never |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encoding
指定目标文件的编码类型。 默认值为 Default。
此参数的可接受值如下所示:
- Ascii 使用 ASCII (7 位) 字符集。
- BigEndianUnicode 将 UTF-16 与 big-endian 字节顺序一起使用。
- 默认 使用与系统的活动代码页相对应的编码 (通常为 ANSI) 。
- Oem 使用对应于系统的当前 OEM 代码页的编码。
- Unicode 将 UTF-16 与 little-endian 字节顺序一起使用。
- UTF7 使用 UTF-7。
- UTF8 使用 UTF-8。
- UTF32 将 UTF-32 与 little-endian 字节顺序一起使用。
Type: | Encoding |
Aliases: | BE |
Accepted values: | ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-From
From 参数是必需的。 此参数指定发件人的电子邮件地址。 输入名称 (可选) 和电子邮件地址,例如 Name <someone@fabrikam.com>
。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Port
指定 SMTP 服务器上的备用端口。 默认值为 25,这是默认的 SMTP 端口。
Type: | Int32 |
Position: | Named |
Default value: | 25 |
Required: | False |
Accept pipeline input: | False |
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: | False |
Accept wildcard characters: | False |
-SmtpServer
指定发送电子邮件的 SMTP 服务器的名称。
默认值是首选项变量的值 $PSEmailServer
。 如果未设置首选项变量并且未使用此参数,则 Send-MailMessage
命令将失败。
Type: | String |
Aliases: | ComputerName |
Position: | 3 |
Default value: | $PSEmailServer |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Subject
Subject 参数是必需的。 此参数指定电子邮件的主题。
Type: | String |
Aliases: | sub |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-To
To 参数是必需的。 此参数指定收件人的电子邮件地址。 如果有多个收件人,请使用逗号 (,
) 分隔其地址。 输入姓名 (可选) 和电子邮件地址,例如 Name <someone@fabrikam.com>
。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSsl
安全套接字层 (SSL) 协议用于与远程计算机建立安全连接以发送邮件。 默认情况下,不使用 SSL。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以通过管道将附件的路径和文件名传递给 Send-MailMessage
。
输出
None
此 cmdlet 将不生成任何输出。