我尝试从Windows Server 2016上的Powershell发送电子邮件,代码如下,但得到一个错误。
Send-MailMessage -From 'datacompare@domainname.com' `
-To 'qm@domainname.com`
-Subject 'Test mail' -SmtpServer smtp5.domain.com `
-Body 'this is a test'
邮箱不可用。服务器响应为:5.7.60 SMTP协议;客户端没有作为此发件人发送的权限第1行第1个字符:1
1-在我甚至在服务器上执行代码之前,我在我的PC上运行它没有任何问题。
2-我在不同的Windows Server 2016环境中运行它,我也没有遇到任何问题。
3-我认为问题可能是TLS/SSL,所以我比较了两个Windows Server 2016环境之间的协议,两者都使用SSL 2. 0。
3-根据another question,我在代码的第一行运行下面的代码,它仍然给了我一个错误。
[System.Net.ServicePointManager]::SecurityProtocol = 'Tls,TLS11,TLS12'
4-所有的在线故障排除指南也让我无处可去。
1条答案
按热度按时间9udxz4iz1#
检查您正在使用的SMTP服务器上的SMTP协议日志。连接是经过身份验证的还是匿名的?
检查使用“datacompare@domainname.com”地址的邮箱。它是否接受来自匿名连接的邮件?它是否只接受来自某些发件人的连接?
如果连接经过身份验证,是否为脚本中使用的帐户分配了收件人邮箱上的“代理发送”权限?