通过PowerShell发送邮件 - 用户&通过

时间:2018-04-17 06:46:52

标签: powershell

我正在尝试开发一个用于发送电子邮件的脚本。我成功完成了这项工作,但仅适用于gmail并且可行。

我现在需要将脚本集成到公司网络中,如何处理登录用户并传入此脚本?当我连接到公司网络时,这个脚本不起作用,我认为是因为我的登录使用和传递以及我不知道的其他事情。

$email = "sender.mail@gmail.com" 
$pass = "sender.mail.pass" 
$smtpServer = "smtp.gmail.com"

$msg = new-object Net.Mail.MailMessage 
$smtp = new-object Net.Mail.SmtpClient($smtpServer) 
$smtp.EnableSsl = $true 
$msg.From = "$email"  
$msg.To.Add("receiver.mail@Xcorporation.com")
$msg.BodyEncoding = [system.Text.Encoding]::UTF8 
$msg.SubjectEncoding = [system.Text.Encoding]::UTF8 
$msg.IsBodyHTML = $true  
$msg.Subject = "Test mail from PowerShell" 
$msg.Body = "This mail is sended automatically from PowerShel script"  
$SMTP.Credentials = New-Object System.Net.NetworkCredential("$email", "$pass"); 
$smtp.Send($msg)

2 个答案:

答案 0 :(得分:2)

为什么不使用Send-MailMessage,您可能会发现它更容易使用。

答案 1 :(得分:1)

我只是想添加一个参考,以防有人有一个积极的公司防火墙不允许,例如谷歌的SMTP服务。

以下是使用Sendgrid的电子邮件Rest API发送电子邮件的摘要:

{{1}}

作为参考,SendGrid提供免费电子邮件服务offering for Azure subscribers,每月发送25000封免费电子邮件。