迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

使用 PowerShell 发送电子邮件

作者:迹忆客 最近更新:2024/03/01 浏览次数:

Windows PowerShell 是一个命令行 shell,用于解决 Windows 中的一些管理任务以及在此操作系统上运行的应用程序。通用脚本语言允许你定制 cmdlet 以执行特定功能。

发送电子邮件就是其中之一。本文将讨论使用 Windows PowerShell 发送电子邮件和处理此方法的其他方式。


在 PowerShell 中使用 Send-MailMessage Cmdlet 发送电子邮件

这是一个基于 Send-MailMessage cmdlet 的示例,你现在可以使用 SMTP 协议从 PowerShell 发送电子邮件。

Send-MailMessage -To "user@contoso.com" -From "user@abccompany.net"  -Subject "Hello!" -Body "This is important" -Credential (Get-Credential) -SmtpServer "smtp.gmail.com" -Port 587

我们只需要插入发件人和收件人的电子邮件地址,并指定我们要使用的 SMTP 服务器。

Send-MailMessage cmdlet 还允许你使用命令的许多参数在电子邮件中添加更多详细信息。这是我们可以使用 cmdlet 使用的参数列表。

参数 参数描述
-To 目标收件人的电子邮件地址。
-Bcc 将被 Blind Carbon 复制的电子邮件地址。
-Cc 将被碳复制的电子邮件地址。
-From 发件人或源电子邮件地址。
-Subject 电子邮件的主题。
-Body 电子邮件的正文。
-BodyAsHTML 表示电子邮件的正文具有 HTML 标记。
-Attachments 要附加到名称的文件名。
-Credential 用于发送电子邮件的凭据。
-SMTPServer SMTP 服务器的名称。
-Port SMTP 服务器端口。
-UseSSL 发送电子邮件时将使用安全套接字层 (SSL) 协议。

你可以先将参数值分配给变量,然后再将它们插入命令行以便于阅读。

$From = "user@abccompany.net"
$To = "user@contoso.com"
$Copy = "manager@contoso.com"
$Attachment = "C:\Temp\file.jpg"
$Subject = "Photos of Drogon"
$Body = "<br>Please see attached picture for reference."
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "465"

Send-MailMessage -From $From -to $To -Cc $Copy -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -UseSsl -Credential (Get-Credential) -Attachments $Attachment

默认情况下,Send-MailMessage 命令尝试通过标准 SMTP 端口 TCP 25 发送电子邮件。

但是,假设你的 SMTP 服务器只允许使用加密协议发送电子邮件。在这种情况下,我们可以最频繁地指定端口号;它是 465 或 587 和 -UseSSL 开关参数。

下表显示了流行的公共电子邮件提供商的 SMTP 服务器参数列表,我们可以使用这些参数从 Windows PowerShell 发送消息(请注意,我们必须允许在帐户界面中通过 SMTP 发送电子邮件):

服务 SMTP 服务器 端口 连接
Gmail smtp.gmail.com 587 TLS
25 TLS
465 SSL
Office 365 smtp.office365.com 587 TLS
25 TLS
Outlook.com smtp-mail.outlook.com 587 TLS
25 TLS
雅虎邮箱 smtp.mail.yahoo.com 587 TLS
25 TLS
465 SSL
Windows Live Hotmail smtp.live.com 587 TLS
25 TLS
Zoho smtp.zoho.com 587 TLS
465 SSL

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

以管理员身份运行 PowerShell 脚本

发布时间:2024/03/01 浏览次数:87 分类:编程语言

本文将展示如何在不输入管理员凭据的情况下以管理员权限运行 powershell 脚本。如果代码片段未在提升的 Windows PowerShell 中运行,则以下脚本将自行提升你的脚本。

使用 Windows PowerShell 启动进程

发布时间:2024/03/01 浏览次数:58 分类:编程语言

本文将解释 Start-Process cmdlet 是什么以及参数如何与 cmdlet 一起使用。本文还展示了使用 Start-Process cmdlet 的好处

使用 PowerShell 远程处理执行命令

发布时间:2024/03/01 浏览次数:144 分类:编程语言

本文将讨论 PowerShell 远程处理的工作原理、几个 PowerShell 远程处理命令,以及我们如何将其投入实际使用。我们还将区分它与许多类似 cmdlet 的优势。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便