【问题标题】:Send-MailMessage asking for credentialsSend-MailMessage 请求凭据
【发布时间】:2019-03-30 06:52:41
【问题描述】:

Send-Mailmessage 在执行时提示输入我的凭据。

我尝试创建一个 $from 变量来向 Powershell 提供我的凭据(从技术上讲,这是可行的,因为我只被要求输入密码,但希望它在不进行身份验证的情况下发送电子邮件)

$from = (Get-ADUser $env:UserName -Properties emailaddress).emailaddress
$To = "example@example.org"

$Subject = "test2"
$Body = "Test2"
$SMTPServer = "10.98.0.20"
$SMTPPort = "25"

Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -Credential $from

【问题讨论】:

    标签: powershell


    【解决方案1】:

    不要使用 -Credential。只需将 -From 一个地址作为字符串传递。 SMTP 不在乎。发生这种情况是因为您包含 -Credential,或者您的邮件服务器不接受匿名中继访问。

    【讨论】:

    • 我包含 -credential 的原因是因为当我在没有它的情况下运行它时,它给了我一个身份验证错误。 “Send-MailMessage:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.1 客户端未通过身份验证”
    • 这是在域中吗?您可以使用任何您想要的 -From 地址,例如 someemail@mydomain.com。发送到有效的电子邮件地址。该错误消息最有可能在谈论运行脚本的帐户。不是您尝试发送电子邮件的电子邮件地址。
    • 很抱歉应该在我的第一篇文章中提到这一点,但是是的,这是我的工作电子邮件,所以它正在尝试对我们的交换服务器进行身份验证。
    • 对,我经常这样做。您的邮件服务器可能需要接受匿名访问。我会与您的交易所管理员讨论是否为您检查。
    • 您知道您正在编写脚本的计算机是否已添加到 SMTP 服务器中继吗?
    猜你喜欢
    • 1970-01-01
    • 2014-05-12
    • 2012-09-09
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2019-06-05
    相关资源
    最近更新 更多