Forum Discussion
Client authentification failure while sending email from office365 account via powershell
- Jul 08, 2021
The 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)
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