Send-MailMessage

发送电子邮件。

语法

All

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>]

说明

Send-MailMessage cmdlet 从 PowerShell 中发送电子邮件。

必须指定简单邮件传输协议(SMTP)服务器或 Send-MailMessage 命令失败。 使用 SmtpServer 参数或将 $PSEmailServer 变量设置为有效的 SMTP 服务器。 分配给 $PSEmailServer 的值是 PowerShell 的默认 SMTP 设置。 有关详细信息,请参阅 about_Preference_Variables

示例

示例 1:向另一个人发送电子邮件

本示例将电子邮件从一个人发送到另一个人。

需要从、Subject 参数。 此示例使用 SMTP 服务器的默认 $PSEmailServer 变量,因此不需要 SmtpServer 参数。

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

cmdlet 使用 from 参数 来指定邮件的发件人。 To 参数指定邮件的收件人。 Subject 参数使用文本字符串 测试邮件 作为邮件,因为不包括可选的 正文 参数。

示例 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 使用 from 参数 来指定邮件的发件人。 To 参数指定邮件的收件人。 Subject 参数描述消息的内容。 正文 参数是消息的内容。

Attachments 参数指定附加到电子邮件的当前目录中的文件。 Priority 参数将消息设置为 优先级。 -DeliveryNotificationOption 参数指定两个值,OnSuccessOnFailure。 发件人将收到电子邮件通知,以确认邮件传递成功或失败。 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 使用 from 参数 来指定邮件的发件人。 To 参数指定邮件的收件人。 Cc 参数将邮件的副本发送到指定的收件人。 密件抄送 参数发送消息的盲件副本。 盲件副本是其他收件人隐藏的电子邮件地址。 Subject 参数是消息,因为不包括可选的 正文 参数。

Credential 参数指定域管理员凭据用于发送消息。 UseSsl 参数指定安全套接字层(SSL)创建安全连接。

参数

-Attachments

指定要附加到电子邮件的文件的路径和文件名。 可以使用此参数或管道将路径和文件名传递给 Send-MailMessage

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False
别名:PsPath

参数集

(All)
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Bcc

指定接收邮件副本但未列为邮件收件人的电子邮件地址。 输入姓名(可选)和电子邮件地址,例如 Name <someone@fabrikam.com>

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Body

指定电子邮件的内容。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-BodyAsHtml

指定 正文 参数的值包含 HTML。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Cc

指定发送电子邮件的抄送副本(CC)的电子邮件地址。 输入姓名(可选)和电子邮件地址,例如 Name <someone@fabrikam.com>

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Credential

指定有权执行此作的用户帐户。 默认值为当前用户。

键入用户名,例如 User01Domain01\User01。 或者,输入 PSCredential 对象,例如 Get-Credential cmdlet 中的对象。

参数属性

类型:PSCredential
默认值:Current user
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DeliveryNotificationOption

指定电子邮件的传递通知选项。 可以指定多个值。 无为默认值。 此参数的别名 DNO

传递通知将发送到 From 参数中的地址。

此参数的可接受值如下所示:

  • :无通知。
  • OnSuccess:通知传递是否成功。
  • OnFailure:通知传递是否失败。
  • 延迟:通知传递是否延迟。
  • 从不:从不通知。

参数属性

类型:DeliveryNotificationOptions
默认值:None
接受的值:None, OnSuccess, OnFailure, Delay, Never
支持通配符:False
不显示:False
别名:DNO

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Encoding

指定目标文件的编码类型。 默认值是 Default

此参数的可接受值如下所示:

  • ASCII 使用 ASCII(7 位)字符集。
  • BigEndianUnicode 使用具有 big-endian 字节顺序的 UTF-16。
  • 默认 使用与系统的活动代码页(通常是 ANSI)对应的编码。
  • OEM 使用与系统的当前 OEM 代码页对应的编码。
  • Unicode 使用具有小字节顺序的 UTF-16。
  • UTF7 使用 UTF-7。
  • UTF8 使用 UTF-8。
  • UTF32 使用具有小字节顺序的 UTF-32。

参数属性

类型:Encoding
默认值:Default
接受的值:ASCII, BigEndianUnicode, Default, OEM, Unicode, UTF7, UTF8, UTF32
支持通配符:False
不显示:False
别名:BE

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-From

需要 From 参数。 此参数指定发件人的电子邮件地址。 输入名称(可选)和电子邮件地址,例如 Name <someone@fabrikam.com>

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Port

指定 SMTP 服务器上的备用端口。 默认值为 25,即默认 SMTP 端口。

参数属性

类型:Int32
默认值:25
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Priority

指定电子邮件的优先级。 常规为默认值。 此参数的可接受值为 Normal、High 和 Low。

参数属性

类型:MailPriority
默认值:Normal
接受的值:Normal, High, Low
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SmtpServer

指定发送电子邮件的 SMTP 服务器的名称。

默认值是 $PSEmailServer 首选项变量的值。 如果未设置首选项变量且未使用此参数,则 Send-MailMessage 命令将失败。

参数属性

类型:String
默认值:$PSEmailServer
支持通配符:False
不显示:False
别名:计算机名

参数集

(All)
Position:3
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Subject

Subject 参数是必需的。 此参数指定电子邮件的主题。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:子项

参数集

(All)
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-To

需要 To 参数。 此参数指定收件人的电子邮件地址。 如果有多个收件人,请使用逗号分隔地址(,)。 输入姓名(可选)和电子邮件地址,例如 Name <someone@fabrikam.com>

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-UseSsl

安全套接字层 (SSL) 协议用于建立与远程计算机的安全连接以发送邮件。 默认情况下,不使用 SSL。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

String

可以通过管道将附件的路径和文件名传递给 Send-MailMessage

输出

None

此 cmdlet 将不生成任何输出。