Using sendmail with gmail oauth2 credentials

I want to send emails programmatically from matlab through gmail, using sendmail. Gmail recently ended support for simple user&password SMTP and they now require oauth2. I almost have oauth2 working, but I think I am stuck on setting up sendmail to properly use "XOAUTH2" credentials. Sendmail returns an error, "Authentication failed."
My question is: assuming I have a valid access token with permissions "scope" set to https://mail.google.com, how do I configure the settings to use sendmail with XOAUTH2?
Any help appreciated, thanks!

댓글 수: 2

I have set up my smtp environment like this:
setpref('Internet','SMTP_Server',email_server);
setpref('Internet','E_mail',email_address);
setpref('Internet','SMTP_Username',email_user);
setpref('Internet','SMTP_Password',access_token);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
props.setProperty('mail.smtp.socketFactory.port','587');
props.setProperty('mail.smtp.starttls.enable', 'true' );
props.setProperty('mail.smtp.starttls.required','true');
props.setProperty('mail.smtp.ssl.enable','true')
props.setProperty('mail.smtp.user',email_address);
props.setProperty('mail.smtp.host','smtp.gmail.com');
props.setProperty('mail.smtp.port','587');
props.setProperty('mail.smtp.auth.mechanisms',['XOAUTH2']);
sendmail error:
Authentication failed.
% more detailed:
% 'Java exception occurred:
% javax.mail.AuthenticationFailedException
% at javax.mail.Service.connect(Service.java:306)
% at javax.mail.Service.connect(Service.java:156)
% at javax.mail.Service.connect(Service.java:105)
% at javax.mail.Transport.send0(Transport.java:168)
% at javax.mail.Transport.send(Transport.java:98)
% '

댓글을 달려면 로그인하십시오.

 채택된 답변

Jan
Jan 2022년 6월 8일

0 개 추천

댓글 수: 1

Petorr
Petorr 2022년 6월 8일
Yes, I saw that answer and it seems to work so far. I just don't know how long google will support this almost-the-same workaround, if the password expires occasionally or not, etc etc so I was hoping to get the whole oauth2 thing working. The method in the above answer does let me send emails as before, with gmail credentials and sendmail. Thanks Jan!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

릴리스

R2019b

질문:

2022년 6월 8일

댓글:

2022년 6월 8일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by