首页 > 解决方案 > 发送电子邮件错误:SMTP 服务器 > 需要安全连接或客户端未通过身份验证

问题描述

我的代码以前没有遇到任何问题。

我得到的错误是

使用“1”参数调用“发送”的异常:“SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 SMTP;客户端在发送匿名邮件期间未通过身份验证来自 [HK2PR02CA0168.apc prd02.prod.outlook.com] 的邮件”在文件路径:15 字符:17

  • $SMTPClient.Send <<<< ($SMTPMessage)
    • CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    • fullyQualifiedErrorId:DotNetMethodException

我在网上搜索,只给了这个

这是我的代码

$Username  = "myemail@outlook.com" 
$EmailPassword = "password"
$Attachment= "File path"
$EmailTo = "sendto@gmail.com"
$EmailFrom   = "myemail@outlook.com" 
$Subject = "Subject"
$Body= "Body"
$SMTPServer  = "smtp.outlook.com"  
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom, $EmailTo, $Subject, $Body) 
$Attachment  = New-Object System.Net.Mail.Attachment($Attachment)
$SMTPMessage.Attachments.Add($Attachment)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Username, $EmailPassword) 
$SMTPClient.Send($SMTPMessage)

ii "another File Path that will be opened"

标签: powershellemailoutlook

解决方案


您的凭据可能是错误的。再次检查。我在那里搞砸了。


推荐阅读