【发布时间】:2019-05-18 01:17:52
【问题描述】:
我正在编写一个 PowerShell 脚本来检查多台 PC 中的特定文件,如果找到它们就发送电子邮件。它有效,但电子邮件需要很长时间才能到达(大约两分半钟)。我试过只运行 Send-MailMessage 命令并得到相同的结果,所以它不是脚本的不同部分减慢它。而且它并没有一直在嘎吱作响——命令立即成功。 Outlook 在此建筑物中发送和接收其他电子邮件的速度要快得多,而且我检查了它正在使用的 SMTP 服务器并使用了相同的服务器。我搜索了其他有此问题的人,但只找到了 Send-MailMessage 超时或根本不工作的示例。
这是我一直在使用的命令(to/from/smtp 服务器替换为占位符):
Send-MailMessage -To "Example Person <ex@example.com>" -From "Example Person <ex@example.com>" -Subject "Test mail" -SmtpServer "XXXXX.XXXXXXXXX.com" -dno onFailure, onSuccess, Delay
我应该注意,当我运行它时,-dno Delay 不会通知我电子邮件被延迟(并且不是问题本身的根源,因为当我取出 dno 参数时,我得到了相同的结果)。相反,我在两分半钟后收到了成功通知。
【问题讨论】:
-
我会先检查 SMTP 服务器。例如,它可能有一些内置的延迟来吓跑未知的发件人。我对 Send-MailMessage 的体验是消息会立即发送和传递
-
您是否检查了收到的邮件中的标题?查看它通过了多少台服务器,或者查看它是否显示与 Outlook 发送的邮件显示的不同的垃圾邮件测试标签,或任何其他差异。
标签: powershell email smtp