发送电子邮件。
语法
Send-MailMessage [-To] <string[]> [-Subject] <string> -From <string> [[-Body] <string>] [[-SmtpServer] <string>] [-Attachments <string[]>] [-Bcc <string[]>] [-BodyAsHtml] [-Cc <string[]>] [-Credential <PSCredential>] [-DeliveryNotificationOption {<None> | <OnSuccess> | <OnFailure> | <Delay> | <Never>}] [-Encoding <Encoding>] [-Priority {<Normal> | <Low> | <High>}] [-UseSsl] [<CommonParameters>]
说明
Send-MailMessage cmdlet 可从 Windows PowerShell 内发送电子邮件。
参数
-Attachments <string[]>
指定要附加到电子邮件的文件的路径和文件名。您可以使用此参数或通过管道将路径和文件名传递给 Send-MailMessage。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByValue) |
是否接受通配符? |
false |
-Bcc <string[]>
指定接收邮件副本但未列为邮件收件人的电子邮件地址。输入名称(可选)和电子邮件地址,如“Name <someone@example.com>”。
是否为必需? |
false |
位置? |
named |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Body <string>
指定电子邮件的正文(内容)。
是否为必需? |
false |
位置? |
3 |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-BodyAsHtml
指示 Body 参数的值包含 HTML。
是否为必需? |
false |
位置? |
named |
默认值 |
False |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Cc <string[]>
指定电子邮件要抄送 (CC) 到的电子邮件地址。输入名称(可选)和电子邮件地址,如“Name <someone@example.com>”。
是否为必需? |
false |
位置? |
named |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Credential <PSCredential>
指定有权执行此操作的用户帐户。默认值为当前用户。
键入用户名,例如“User01”或“Domain01\User01”。或者,输入 PSCredential 对象,例如来自 Get-Credential cmdlet 的对象。
是否为必需? |
false |
位置? |
named |
默认值 |
Current user |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-DeliveryNotificationOption <DeliveryNotificationOptions>
指定电子邮件的送达通知选项。您可以指定多个值。“None”为默认值。此参数的别名为“dno”。
送达通知会通过电子邮件发送到 To 参数的值中指定的地址。
有效值包括:
-- None:无通知。
-- OnSuccess:成功送达时通知。
-- OnFailure:未能送达时通知。
-- Delay:送达延迟时通知。
-- Never:从不通知。
是否为必需? |
false |
位置? |
named |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Encoding <Encoding>
指定对正文和主题使用的编码。有效值包括 ASCII、UTF8、UTF7、UTF32、Unicode、BigEndianUnicode、Default 和 OEM。ASCII 是默认值。
是否为必需? |
false |
位置? |
named |
默认值 |
ASCII |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-From <string>
指定用来发送邮件的地址。输入姓名(可选)和电子邮件地址,如“Name <someone@example.com>”。此参数是必需的。
是否为必需? |
true |
位置? |
named |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Priority <MailPriority>
指定电子邮件的优先级。此参数的有效值包括 Normal、High 和 Low。Normal 是默认值。
是否为必需? |
false |
位置? |
named |
默认值 |
Normal. |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-SmtpServer <string>
指定发送电子邮件的 SMTP 服务器的名称。
默认值是 $PSEmailServer 首选项变量的值。如果未设置该首选项变量并且省略了此参数,该命令会失败。
是否为必需? |
false |
位置? |
4 |
默认值 |
$PSEmailServer |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Subject <string>
指定电子邮件的主题。此参数是必需的。
是否为必需? |
true |
位置? |
2 |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-To <string[]>
指定邮件发送到的地址。输入名称(可选)和电子邮件地址,如“Name <someone@example.com>”。此参数是必需的。
是否为必需? |
true |
位置? |
1 |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-UseSsl
使用安全套接字层 (SSL) 协议来建立与远程计算机的连接,以便发送邮件。默认情况下,不使用 SSL。
是否为必需? |
false |
位置? |
named |
默认值 |
False |
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
System.String 您可以通过管道将附件的路径和文件名传递给 Send-MailMessage。 |
输出 |
None 此 cmdlet 将不产生任何输出。 |
示例 1
C:\PS>send-mailmessage -to "User01 <user01@example.com>" -from "User02 <user02@example.com>" -subject "Test mail" 说明 ----------- 此命令将 User01 的电子邮件发送给 User02。 该电子邮件有主题,但没有正文,主题是必需的,正文是可选的。此外,由于未指定 SmtpServer 参数,Send-MailMessage 会对 SMTP 服务器使用 $PSEmailServer 首选项变量的值。
示例 2
C:\PS>send-mailmessage -from "User01 <user01@example.com>" -to "User02 <user02@example.com>", "User03 <user03@example.com>" -subject "Sending the Attachment" -body "Forgot to send the attachment. Sending now." -Attachment "data.csv" -priority High -dno onSuccess, onFailure -smtpServer smtp.fabrikam.com 说明 ----------- 此命令将 User01 的含有附件的电子邮件发送给其他两个用户。 它指定优先级值为“High”,并请求在电子邮件送达或发送失败时通过电子邮件接收送达通知。
示例 3
C:\PS>send-mailmessage -to "User01 <user01@example.com>" -from "ITGroup <itdept@example.com>" -cc "User02 <user02@example.com>" -bcc ITMgr <itmgr@example.com> -subject "Don't forget today's meeting!" -credential domain01\admin01 -useSSL 说明 ----------- 此命令将 User01 的电子邮件发送给 ITGroup 邮件列表,并抄送 (CC) 给 User02,密件抄送 (BCC) 给 IT 经理 (ITMgr)。 此命令使用域管理员的凭据以及 UseSSL 参数。