powershell send-mailmessage错误 - helo命令被拒绝:需要完全限定的主机名

时间:2015-07-21 14:49:20

标签: email powershell smtp

我已经阅读了很多关于这个问题的消息来源,但没有运气:/

我正在尝试使用Powershell 4.0(Windows Server 2012 R2)以这种方式通过Send-MailMessage命令行开关发送电子邮件:

$From = "testuser@mydomain.cz"
$To = "somebody@mydomain.cz"
$Subject = "e-mail odeslany z powershellu :)"
$Body = "..."
$SMTPServer = "smtp.mydomain.cz"
$SMTPPort = "587"

$credentials = new-object Management.Automation.PSCredential “testuser@mydomain.cz”, (“xxxpasswordxxx” | ConvertTo-SecureString -AsPlainText -Force)

Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential $credentials -Verbose

问题是它最终出现以下错误:

Send-MailMessage : Command parameter not implemented. The server response was: 5.5.2 <mydamnserver>: Helo command rejected:
 need fully-qualified hostname
At D:\sendmail.ps1:14 char:1
+ Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpException
    + FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage

请问,如何使用FQ主机名满足命令行开关?我不想更改DNS或其他东西,我只需要让脚本“伪造”FQ主机名以便摆脱错误......我该怎么办呢?

我发现“网络”元素的“clientDomain”属性需要更改 - 但是如何?我从未在.NET中写过任何东西:/

非常感谢

1 个答案:

答案 0 :(得分:0)

好的,现在就可以了。我不明白为什么,但这里有一个提示:

原始错误消息(&#34;服务器响应是:5.5.2:Helo命令被拒绝:需要完全限定的主机名&#34; )现在发生在我故意放置一个密码错误。所以可能是我之前使用过错密码。

奇怪的是,当我一直在寻找邮件服务器日志时,我发现没有&#34; testuser&#34;线......奇怪。

无论如何,我们认为这是封闭的。