Windows Server 2016 阻止了邮件,但自 2008 年以来没有阻止

Windows Server 2016 阻止了邮件,但自 2008 年以来没有阻止

早上好:

我从两个不同的虚拟机运行完全相同的脚本:

  • 第一个在 Windows Server 2008 R2 中
  • Windows Server 2016 中的第二个

特征

  • SMTP 是托管 (BlueHost) 的外部服务
  • 脚本不会产生错误
  • 两种情况下邮件均到达内部地址(来自 BlueHost)
  • 第二种情况下,邮件无法到达外部地址(如 gmail)(Win 2016)
  • 两个虚拟机都在同一桌面上运行
  • 两台虚拟机均已禁用防病毒软件和防火墙

我正在寻求帮助以了解问题出在哪里。我认为 Windows 2016 中存在一些奇怪的配置,导致 BlueHost 阻止它或 Gmail 不接收它。

我尝试了很多方法,但是却到达了一个非常奇怪的地步,我不明白到底发生了什么。

这是我用来测试的脚本,仅用于测试目的。因为从 SQL Server Databasemail 发送电子邮件会产生相同的错误。

$EmailTo = "[email protected]"
$EmailFrom = "[email protected]"
$Subject = "Test a" 
$Body = "Test Body" 
$SMTPServer = "mail.mydomain.com.ar" 
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 26) 
$SMTPClient.EnableSsl = $false 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("[email protected]", "pass"); 
$SMTPClient.Send($SMTPMessage)

使用 Send-MailMessage 进行测试并出现同样的错误:

$from = "[email protected]" 
$to = "[email protected]" 
$smtp = "mail.bla.com.ar" 
$sub = "hi" 
$body = "test mail 2"
$secpasswd = ConvertTo-SecureString "pass" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential($from, $secpasswd)
Send-MailMessage -To $to -From $from -Subject $sub -Body $body -Credential $mycreds -SmtpServer $smtp -DeliveryNotificationOption Never -BodyAsHtml -Port 26

需要帮助吗?从现在起谢谢!

答案1

最后我通过更改名称解决了这个问题电脑。在查找虚拟机之间的差异后,我注意到检查电子邮件的标题时,计算机的名称出现在标题中。我更改了它,它开始工作。好像以某种方式,该名称将被阻止......

相关内容