📌  相关文章
📜  如何使用 powershell 发送邮件和附件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:08:23.461000             🧑  作者: Mango

如何使用 PowerShell 发送邮件和附件

PowerShell 是一个强大的脚本语言,在邮件处理方面也有很好的应用。本文将介绍如何使用 PowerShell 发送邮件和附件。

前置条件

在 PowerShell 中发送邮件需要使用 .NET Framework 中的 System.Net.Mail 命名空间。请检查计算机上是否安装了 .NET Framework。

发送邮件

以下代码片段演示了如何使用 PowerShell 发送邮件。

# 定义收件人和发件人信息
$to = "recipient@example.com"
$from = "sender@example.com"
$subject = "邮件主题"
$body = "邮件内容"

# 创建一个 SMTP 客户端,并配置客户端信息
$smtp = New-Object System.Net.Mail.SmtpClient("smtp.example.com")
$smtp.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$smtp.EnableSsl = $true

# 创建邮件对象,设置发送者、接收者、主题和内容
$mail = New-Object System.Net.Mail.MailMessage($from, $to, $subject, $body)

# 发送邮件
$smtp.Send($mail)

以上代码中,使用 New-Object 创建了 System.Net.Mail.SmtpClientSystem.Net.Mail.MailMessage 对象。SmtpClient 是用于发送邮件的客户端对象,需要设置 SMTP 服务器地址、用户名和密码。MailMessage 是一个邮件对象,包含发送者、接收者、主题和内容等信息。

发送附件

以下代码片段演示了如何使用 PowerShell 发送带有附件的邮件。

# 定义收件人和发件人信息
$to = "recipient@example.com"
$from = "sender@example.com"
$subject = "邮件主题"
$body = "邮件内容"

# 创建一个 SMTP 客户端,并配置客户端信息
$smtp = New-Object System.Net.Mail.SmtpClient("smtp.example.com")
$smtp.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$smtp.EnableSsl = $true

# 创建邮件对象,设置发送者、接收者、主题和内容
$mail = New-Object System.Net.Mail.MailMessage($from, $to, $subject, $body)

# 添加附件
$attachment = New-Object System.Net.Mail.Attachment("path/to/attachment")
$mail.Attachments.Add($attachment)

# 发送邮件
$smtp.Send($mail)

以上代码中,使用 New-Object 创建了一个 System.Net.Mail.Attachment 对象,表示要添加的附件。在创建邮件对象后,使用 MailMessage.Attachments.Add 方法将附件添加到邮件中。

总结

在 PowerShell 中发送邮件和附件可以使用 .NET Framework 中的 System.Net.Mail 命名空间。通过创建 SmtpClientMailMessage 对象,可以设置发送者、接收者、主题和内容等信息。如果需要发送附件,可以通过创建 Attachment 对象,并使用 MailMessage.Attachments.Add 方法将附件添加到邮件中。