没有收到使用powershell命令发送的电子邮件

时间:2016-08-29 06:57:29

标签: powershell scripting

Send-MailMessage -SmtpServer "smtp.com.au" -From "me@me.com" -To "you@you.com" -Subject "Testing" -Attachments "\\Test\archive.zip" -Body "attached"

我使用上面的命令通过电子邮件发送一个zip文件但我在To(you@you.com)邮箱中看不到任何内容。

命令运行成功,没有任何错误。

2 个答案:

答案 0 :(得分:1)

我认为问题出在你的函数调用中。你错过了很多参数。看看我的工作gmail示例:

$password = ConvertTo-SecureString "123456789" -AsPlainText -Force
$emailCredentials = New-Object pscredential ("from@gmail.com", $password)
try {
    Send-MailMessage -From "from@gmail.com" -To "to@to.com" -Subject "subject" -Body "body" -SmtpServer "smtp.gmail.com" -Port 587 -Credential $emailCredentials -Encoding UTF8 -UseSsl -ErrorAction Stop
}
catch {
    echo $error[0]
}

您的通话中没有-Credential参数,我几乎可以肯定,这就是问题所在。此外,您的smtp服务器可能在不同的端口上具有此协议,这是-Port的用途。最后-UseSsl,如果smtp服务器正在加密邮件,那么如果没有此开关,您的电子邮件将不会被发送。 -Encoding UTF8仅适用于区域字符。

检查您的$error[0],它可能会告诉您问题所在。检查-From电子邮件中发生的情况。在gmail上,你可以看到有时自动复制的错误描述。

我很抱歉没有给你简单的解决方案,但我没有足够的信息来找到它。

答案 1 :(得分:0)

好的我有更新:

我上面提到的命令工作得很好。 IT团队告诉我,前几天我们的SMTP存在问题(当我报告此问题时),电子邮件最终确实进来了(太晚了)。我今天早上测试了同样的情况,看起来很好,非常感谢所有人的支持。

我还有另一个问题,但我会单独发布。