我可以使用SMTP发送邮件。但我需要实现Oauth以避免在发送邮件时使用密码。这可以使用accesstoken完成。
经过大量的冲浪,我得到了以下片段。
Properties props = new Properties();
props.put("mail.smtp.user", userEmail);
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.starttls.required", "true");
props.put("mail.smtp.sasl.enable", "true");
props.put("mail.smtp.sasl.mechanisms", "XOAUTH2");
props.put("mail.imaps.sasl.mechanisms.oauth2.oauthToken", oauthToken);
Session session = Session.getInstance(props);
session.setDebug(debug);
final URLName unusedUrlName = null;
SMTPTransport transport = new SMTPTransport(session, unusedUrlName);
// If the password is non-null, SMTP tries to do AUTH LOGIN.
final String emptyPassword = "";
transport.connect(host, port, userEmail, emptyPassword);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
我正在努力使用SMTPTransport.connect
与空密码进行连接。
任何人都可以帮助我,我是否可以SEND_MAILS + SMTP + OAUTH + GMAIL_ACCESS_TOKEN?
我感谢工作代码建议。感谢