添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
会搭讪的蚂蚁  ·  C++ Web 编程 | 菜鸟教程·  1 年前    · 
谦和的猕猴桃  ·  Spark3.2 VS ...·  1 年前    · 
冷冷的硬盘  ·  bat ...·  1 年前    · 
[-Encoding ] [-Cc ] [-DeliveryNotificationOption ] -From [[-SmtpServer] ] [-Priority ] [-ReplyTo ] [[-Subject] ] [-To] [-Credential ] [-UseSsl] [-Port ] []

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

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

cmdlet Send-MailMessage 已过时。 此 cmdlet 不保证与 SMTP 服务器具有安全连接。 虽然 PowerShell 中没有立即可用的替换项,但建议不要使用 Send-MailMessage 。 有关详细信息,请参阅 平台兼容性说明 DE0005

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

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

Send-MailMessage 需要 From 、To 和 Subject 参数。 此示例使用 SMTP 服务器的默认 $PSEmailServer 变量,因此不需要 SmtpServer 参数。

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

Send-MailMessage cmdlet 使用 From 参数来指定邮件的发件人。 To 参数指定邮件的收件人。 Subject 参数使用文本字符串 “测试邮件”作为邮件 ,因为不包括可选的 Body 参数。

示例 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 cmdlet 使用 From 参数来指定邮件的发件人。 To 参数指定邮件的收件人。 Subject 参数描述邮件的内容。 Body 参数是邮件的内容。

Attachments 参数指定附加到电子邮件的当前目录中的文件。 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 cmdlet 使用 From 参数来指定邮件的发件人。 To 参数指定邮件的收件人。 Cc 参数将邮件的副本发送到指定的收件人。 Bcc 参数发送邮件的密送副本。 盲件副本是其他收件人隐藏的电子邮件地址。 Subject 参数是消息,因为不包括可选的 Body 参数。

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

-Attachments

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

类型: String [ ] Aliases:PsPath Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

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

类型: String [ ] Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

-Body

指定电子邮件的内容。

类型: String Position:2 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

-BodyAsHtml

指定 Body 参数的值包含 HTML。

类型: SwitchParameter Aliases:BAH Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

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

类型: String [ ] Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

-Credential

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

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

凭据存储在 PSCredential 对象中,密码存储为 SecureString

有关 SecureString 数据保护的详细信息,请参阅 SecureString 的安全性如何?

类型: DeliveryNotificationOptions Aliases:DNO 接受的值:None, OnSuccess, OnFailure, Delay, Never Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

-Encoding

指定目标文件的编码类型。 默认值为 utf8NoBOM

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

  • ascii :对 ASCII(7 位)字符集使用编码。
  • ansi :对当前区域性的 ANSI 代码页使用编码。 此选项是在 PowerShell 7.4 中添加的。
  • bigendianunicode :使用 big-endian 字节顺序以 UTF-16 格式进行编码。
  • bigendianutf32 :使用 big-endian 字节顺序以 UTF-32 格式进行编码。
  • oem :对 MS-DOS 和控制台程序使用默认编码。
  • unicode :使用 little-endian 字节顺序以 UTF-16 格式进行编码。
  • utf7 :采用 UTF-7 格式编码。
  • utf8 :采用 UTF-8 格式编码。
  • utf8BOM :使用字节顺序标记 (BOM) 以 UTF-8 格式进行编码
  • utf8NoBOM :不使用字节顺序标记 (BOM) 以 UTF-8 格式进行编码
  • utf32 :采用 UTF-32 格式编码。
  • 从 PowerShell 6.2 开始,Encoding 参数还允许注册代码页的数字 ID(如 -Encoding 1251 )或已注册代码页的字符串名称(如 -Encoding "windows-1251" )。 有关详细信息,请参阅 Encoding.CodePage .NET 文档。

    从 PowerShell 7.4 开始,可以使用 Encoding 参数的 Ansi 值来传递当前区域性 ANSI 代码页的数字 ID,而无需手动指定它。

    UTF-7 * 不再推荐使用。 从 PowerShell 7.1 起,如果为 Encoding 参数指定 utf7 ,则会编写警告。

    类型: Encoding Aliases:BE 接受的值:ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 Position:Named 默认值:ASCII 必需:False Accept pipeline input:True Accept wildcard characters:False

    -From

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

    类型: String Position:Named 默认值:None 必需:True Accept pipeline input:True Accept wildcard characters:False

    -Port

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

    类型: Int32 Position:Named 默认值:25 必需:False Accept pipeline input:True Accept wildcard characters:False

    -Priority

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

    类型: MailPriority 接受的值:Normal, High, Low Position:Named 默认值:Normal 必需:False Accept pipeline input:True Accept wildcard characters:False

    -ReplyTo

    指定用于答复此邮件的其他电子邮件地址(非发件人地址)。 输入名称(可选)和电子邮件地址,例如 Name <someone@fabrikam.com>

    此参数是在 PowerShell 6.2 中引入的。

    类型: String [ ] Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

    -SmtpServer

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

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

    类型: String Aliases:ComputerName Position:3 默认值:$PSEmailServer 必需:False Accept pipeline input:True Accept wildcard characters:False

    -Subject

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

    类型: String Aliases:sub Position:1 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

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

    类型: String [ ] Position:0 默认值:None 必需:True Accept pipeline input:True Accept wildcard characters:False

    -UseSsl

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

    类型: SwitchParameter Position:Named 默认值:None 必需:False Accept pipeline input:True Accept wildcard characters:False

    String

    可以通过管道将附件的路径和文件名传递给此 cmdlet。

    此 cmdlet 不返回任何输出。

    cmdlet Send-MailMessage 已过时。 有关详细信息,请参阅 平台兼容性说明 DE0005 。 此 cmdlet 不保证与 SMTP 服务器具有安全连接。

    DE0005 建议使用第三方库 MailKit 。 如果使用 Exchange Online,则可以从 Microsoft Graph PowerShell SDK 使用 Send-MgUserMail

  • about_Preference_Variables
  • Get-Credential
  •