在Office365环境中,我有一个100%正常运行的脚本,对于2个旧版用户没有任何问题。我们创建了一个新的服务帐户"使用完全相同的脚本失败了。
进行一些研究,我已经看到并解决了以下几点:
正如你在最后两个项目中看到的那样,我们现在有点抓住稻草,并且可以认真地使用一些帮助!我们的噩梦是,它正在与其他2个帐户完全一致(仅更改用户名,密码和来自变量)
这是脚本:
$username = "DevTest@domain.com"
$password = "PASSWORD" | convertto-securestring -AsPlainText -Force
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password
$smtp = "smtp.office365.com"
$port = "587"
$from = "devtest@domain.com"
$to = "otheremail@domain.com"
$subject = "This is my Subject Line"
$body = "<b>This is the body of my email.</br>With <font color=`"red`">OPTIONAL</font> HTML tags</b>"
Send-MailMessage -SmtpServer $smtp -Port $port -UseSsl -Credential $cred -From $from -To $to -Subject $subject -Body $body -BodyAsHtml -Verbose
这是使用-Verbose开关的输出:
Send-MailMessage:SMTP服务器需要安全连接或 客户端未经过身份验证。服务器响应是:5.7.57 SMTP; 客户端未经过身份验证,无法在MAIL FROM期间发送匿名邮件 在行:12 char:1 + Send-MailMessage -SmtpServer $ smtp -Port $ port -UseSsl -Credential $ cred -From $ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(System.Net.Mail.SmtpClient:SmtpClient)[Send-MailMessage], SmtpException + FullyQualifiedErrorId:SmtpException,Microsoft.PowerShell.Commands.SendMailMessage
答案 0 :(得分:-2)
您的密码可能很复杂。我遇到了同样的问题,我将密码更改为不那么复杂的密码并且工作正常。