Jul 07 2021 11:01 PM - edited Jul 07 2021 11:02 PM
Hi I'm trying to send email from office365 account in powershell, but got client not authenticated failure:
Send-MailMessage : The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 Client not authenticated to send mail.
I have tried powershell native "Send-MailMessage" and MailKit and got same errors. Really need your help to figure out the problem. Thanks!
Jul 07 2021 11:30 PM
Jul 08 2021 12:23 AM
@pvanberlo, I'm trying commands below. Now I can use it or MailKit to send email after turning off the Authenticator approval. How can I achieve it when authenticator is turning on?
$cred = Get-Credential
$mail = @{
SmtpServer = 'smtp.office365.com'
Port='587'
UseSSL=$true
From='user@domain'
To='targetuser@emailserver'
Subject='subject'
Body='body'
}
Send-MailMessage @mail # or Use MailKit, see https://adamtheautomator.com/powershell-email/
Jul 08 2021 02:21 AM - edited Jul 08 2021 02:25 AM
SolutionThe regular way to do this when using modern authentication with MFA would be to allow ‘app passwords’. There are other ways, which I would not recommend, because they potentially lower the security posture.
If that doesn't work or is not allowed in your tenant, other methods may include:
* Disabling MFA (not recommended)
* If MFA is enabled using Azure AD Conditional Access, exclude this user for specifically SMTP from the Azure AD Conditional Access policy
* If you're using Security Defaults within your Microsoft 365 tenant, legacy authentication is blocked by default and can't be bypassed unless you disable Security Defaults
* You can use the Graph API for sending out e-mail programatically (Send mail - Microsoft Graph v1.0 | Microsoft Docs)
Jul 08 2021 09:01 AM
I tested using outlook of my personal email. Try to fill with 365 SMTP:
$cred = Get-Credential
$SMTPServer = "smtp-mail.outlook.com"
$Port = "587"
$From = "user@domain"
$To = "targetuser@emailserver”
$Subject = "subject"
$Body = "Body"
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -BodyAsHtml -SmtpServer $SMTPServer -Port $Port -UseSsl -Credential $cred
Jan 22 2023 04:33 AM
Jan 22 2023 03:29 PM
Jan 23 2023 01:50 PM