office365 smtp 上的 oauth2 出现 curl 错误 530 5.7.57 客户端未通过身份验证,无法发送邮件

office365 smtp 上的 oauth2 出现 curl 错误 530 5.7.57 客户端未通过身份验证,无法发送邮件

我正在使用这个卷曲:

curl -vvv --url 'smtp://smtp.office365.com:587' \
--ssl-reqd \
--mail-from "$user" \
--mail-rcpt "$destuser" \
--upload-file ./mail.txt \
--oauth2-bearer $accesstoken

尝试从我注册了 oauth 应用程序的帐户发送电子邮件,并使用这些 Graph 权限 - 委托权限

SMTP.Send
Mail.Read
Mail.Send
openid
offline_access

但我总是收到错误: 530 5.7.57 客户端未通过身份验证,无法发送邮件。

用户邮箱和传输均将 SmtpClientAuthenticationDisabled 设置为 $false

我非常确信访问令牌是有效的,我也测试了有效的刷新令牌,有什么想法可以让它工作吗?

curl 是否兼容 https://docs.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth

相关内容