返回
如何使用 PowerShell 脚本从 Gmail 发送电子邮件?
windows
2024-03-07 12:24:52
使用 PowerShell 脚本从 Gmail 发送电子邮件
作为一位经验丰富的程序员,我经常需要自动化任务,而发送电子邮件是其中一项常见的工作。在本文中,我将分享一种使用 Windows PowerShell 脚本从 Gmail 发送电子邮件的方法。
配置 SMTP
在发送电子邮件之前,我们需要配置 SMTP(简单邮件传输协议)服务器。
- 登录您的 Gmail 帐户。
- 进入 设置 > 转发和 POP/IMAP 。
- 启用 POP 、IMAP 和 SMTP 。
- 在 SMTP 服务器 部分,输入以下信息:
- SMTP 服务器:smtp.gmail.com
- SMTP 端口:587
- 使用 TLS:是
编写 PowerShell 脚本
配置好 SMTP 之后,我们可以编写 PowerShell 脚本来发送电子邮件。以下是一个示例脚本:
$smtpServer = "smtp.gmail.com"
$smtpPort = 587
$smtpUser = "your.username@gmail.com"
$smtpPassword = "your_smtp_password"
$from = "your.username@gmail.com"
$to = "recipient@example.com"
$subject = "Email from PowerShell"
$body = "Hello from PowerShell!"
$message = New-Object System.Net.Mail.MailMessage($from, $to)
$message.Subject = $subject
$message.Body = $body
$message.IsBodyHtml = $false
$client = New-Object System.Net.Mail.SmtpClient($smtpServer, $smtpPort)
$client.EnableSsl = $true
$client.UseDefaultCredentials = $false
$client.Credentials = New-Object System.Net.NetworkCredential($smtpUser, $smtpPassword)
$client.Send($message)
Write-Host "Email sent successfully!"
故障排除
在发送电子邮件时,你可能会遇到一些问题。以下是常见的错误及解决方法:
- 错误:SMTP 服务器需要安全连接或客户端未经身份验证 :确保已启用两步验证或创建应用特定密码。
- 错误:服务器返回:535 密码错误 :检查 SMTP 用户名和密码是否正确。
- 错误:服务器返回:550 拒绝的收件人 :检查收件人电子邮件地址是否有效。
- 错误:系统调用失败 :确保您的防火墙未阻止 SMTP 端口。
添加附件
要向电子邮件添加附件,请使用以下代码:
$attachment = New-Object System.Net.Mail.Attachment("C:\path\to\file.pdf")
$message.Attachments.Add($attachment)
结论
使用 Windows PowerShell 脚本从 Gmail 发送电子邮件可以节省时间并简化任务。通过配置 SMTP、编写脚本和进行必要的故障排除,你可以轻松发送电子邮件。
常见问题解答
- 如何获取应用特定密码?
登录你的 Google 帐户 > 安全性 > 应用密码 > 选择应用和设备 > 其他 > 命名密码 > 生成 。 - 如何检查 SMTP 端口是否被阻止?
使用命令提示符运行telnet smtp.gmail.com 587
。如果连接成功,你将看到 "Connected to smtp.gmail.com"。 - 如何添加多个收件人?
使用分号 (;) 分隔收件人电子邮件地址。例如:$to = "recipient1@example.com; recipient2@example.com"
。 - 如何发送 HTML 电子邮件?
将$message.IsBodyHtml
设置为$true
。 - 如何发送密码受保护的电子邮件?
使用$client.EnableSsl = $true
启用 SSL 并使用应用特定密码作为密码。