我已经阅读了很多关于这个问题的消息来源,但没有运气:/
我正在尝试使用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中写过任何东西:/
非常感谢
答案 0 :(得分:0)
好的,现在就可以了。我不明白为什么,但这里有一个提示:
原始错误消息(&#34;服务器响应是:5.5.2:Helo命令被拒绝:需要完全限定的主机名&#34; )现在发生在我故意放置一个密码错误。所以可能是我之前使用过错密码。
奇怪的是,当我一直在寻找邮件服务器日志时,我发现没有&#34; testuser&#34;线......奇怪。
无论如何,我们认为这是封闭的。