Note that there are some explanatory texts on larger screens.

plurals
  1. POsend mail via SMTP Gmail Oauth2 issue
    text
    copied!<p>I can authenticated to SMTP by following <a href="http://code.google.com/p/google-mail-oauth2-tools/source/browse/trunk/java/com/google/code/samples/oauth2/OAuth2Authenticator.java" rel="nofollow">the google example</a>.</p> <p>But the problem now is I can't send out the mail. I am getting the following error whenever I try to send out mail.</p> <pre><code>com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 f5sm19578172pav.22 at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2114) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1618) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119) at javax.mail.Transport.send0(Transport.java:195) at javax.mail.Transport.send(Transport.java:124) </code></pre> <p>First I am getting can't connect to local host , thus I added a few lines of code to propery of session like below to OAuth2Authenticator class , still authenicated successfully. But can't send out the mail.</p> <pre><code>props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "587"); </code></pre> <p>I am using the <strong>same session object and SMTP transport object</strong> which will be returned from OAuth2Authenticator class when I first authenticated successfully.</p> <pre><code> Message message = new MimeMessage(session); message.setFrom(new InternetAddress(msg.getFrom())); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(msg.getTo())); message.setSubject(msg.getSubject()); message.setText(msg.getBody()); transport.send(message); </code></pre> <p>Full Debug Log</p> <pre><code>DEBUG: setDebug: JavaMail version 1.4.5 DEBUG SMTP: enable SASL DEBUG SMTP: useEhlo true, useAuth false DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false 220 mx.google.com ESMTP gj1sm1027169pbc.11 - gsmtp DEBUG SMTP: connected to host "smtp.gmail.com", port: 587 EHLO E6410-PC 250-mx.google.com at your service, [202.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" STARTTLS 220 2.0.0 Ready to start TLS EHLO E6410-PC 250-mx.google.com at your service, [202.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH XOAUTH2" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" DEBUG SMTP: Authenticate with SASL DEBUG SMTP: SASL mechanisms allowed: XOAUTH2 DEBUG SMTP: SASL AUTH command trace suppressed DEBUG SMTP SASL: Mechanisms: XOAUTH2 DEBUG SMTP SASL: SASL client XOAUTH2 DEBUG SMTP SASL: callback length: 1 DEBUG SMTP SASL: callback 0: javax.security.auth.callback.NameCallback@100ab23 DEBUG SMTP SASL: no response Successfully authenticated to SMTP. NOOP 250 2.0.0 OK gj1sm1027169pbc.11 - gsmtp Is SMTP still connected: true DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: enable SASL DEBUG SMTP: useEhlo true, useAuth false DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false 220 mx.google.com ESMTP az8sm1466819pab.3 - gsmtp DEBUG SMTP: connected to host "smtp.gmail.com", port: 587 EHLO E6410-PC 250-mx.google.com at your service, [202.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" STARTTLS 220 2.0.0 Ready to start TLS EHLO E6410-PC 250-mx.google.com at your service, [202.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH XOAUTH2" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" DEBUG SMTP: use8bit false MAIL FROM:&lt;user@gmail.com&gt; 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 az8sm1466819pab.3 - gsmtp DEBUG SMTP: got response code 530, with response: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 az8sm1466819pab.3 - gsmtp RSET 250 2.1.5 Flushed az8sm1466819pab.3 - gsmtp DEBUG SMTP: MessagingException while sending com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 az8sm1466819pab.3 - gsmtp at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2114) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1618) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119) at javax.mail.Transport.send0(Transport.java:195) </code></pre> <p>Edited: I now called AUTH command explicitly like that .</p> <pre><code> byte[] response = String.format("user=%s\1auth=Bearer %s\1\1", emailAddress, accessToken.getToken()).getBytes(); response = BASE64EncoderStream.encode(response); System.out.println("token check : " + new String(response)); transport.issueCommand("AUTH XOAUTH2 " + new String(response), 235); </code></pre> <p>but the response still the same.</p> <pre><code>DEBUG: setDebug: JavaMail version 1.4.5 DEBUG SMTP: enable SASL DEBUG SMTP: useEhlo true, useAuth false DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false 220 mx.google.com ESMTP kl3sm6965596pbc.15 - gsmtp DEBUG SMTP: connected to host "smtp.gmail.com", port: 587 EHLO E6410-PC 250-mx.google.com at your service, [xxx.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" STARTTLS 220 2.0.0 Ready to start TLS EHLO E6410-PC 250-mx.google.com at your service, [xxx.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH XOAUTH2" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" Successfully authenticated to SMTP. token check : abcdefgFuYUBnbWFpbC5jb20BYXV0aD1CZWabcdefgSEVTNlpUVlFTUXZfblZfZ01FaDF6WWtSQ2kzb1d5RElFQ19mb2NmWG5Sam93RUlBYVJRTldfNwEB AUTH XOAUTH2 abcdefgFuYUBnbWFpbC5jb20BYXV0aD1CZWabcdefgSEVTNlpUVlFTUXZfblZfZ01FaDF6WWtSQ2kzb1d5RElFQ19mb2NmWG5Sam93RUlBYVJRTldfNwEB 235 2.7.0 Accepted NOOP 250 2.0.0 OK kl3sm6965596pbc.15 - gsmtp Is SMTP still connected: true DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: enable SASL DEBUG SMTP: useEhlo true, useAuth false DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false 220 mx.google.com ESMTP vo6sm6969236pbc.8 - gsmtp DEBUG SMTP: connected to host "smtp.gmail.com", port: 587 EHLO E6410-PC 250-mx.google.com at your service, [xxx.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "STARTTLS", arg "" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" STARTTLS 220 2.0.0 Ready to start TLS EHLO E6410-PC 250-mx.google.com at your service, [xxx.xxx.xxx.xxx] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension "SIZE", arg "35882577" DEBUG SMTP: Found extension "8BITMIME", arg "" DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH XOAUTH2" DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg "" DEBUG SMTP: use8bit false MAIL FROM:&lt;user@gmail.com&gt; 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 vo6sm6969236pbc.8 - gsmtp DEBUG SMTP: got response code 530, with response: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 vo6sm6969236pbc.8 - gsmtp RSET 250 2.1.5 Flushed vo6sm6969236pbc.8 - gsmtp DEBUG SMTP: MessagingException while sending com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 vo6sm6969236pbc.8 - gsmtp at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2114) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1618) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119) at javax.mail.Transport.send0(Transport.java:195) at javax.mail.Transport.send(Transport.java:124) QUIT 221 2.0.0 closing connection vo6sm6969236pbc.8 - gsmtp com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 vo6sm6969236pbc.8 - gsmtp at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2114) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1618) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119) at javax.mail.Transport.send0(Transport.java:195) at javax.mail.Transport.send(Transport.java:124) </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload