java.lang.ClassNotFoundException: com.sun.mail.smtp.SMTPSasl



我正在尝试使用Android中的Javamail API发送邮件。我的代码是

Properties props=System.getProperties();
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");
Session session = Session.getInstance(props);
session.setDebug(true);
Message message1 = new MimeMessage(MailsSharedData.getSession());
message1.setFrom(new InternetAddress(ConfigManager.getEmail()));
message1.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
message1.setSubject(subject);
message1.setSentDate(new Date());
message1.setText(message);
session.getTransport().connect("smtp.gmail.com",587,ConfigManager.getEmail(), Constants.ACCESS_TOKEN);
session.getTransport().sendMessage(message1,message1.getAllRecipients());

IMAP工作正常。在日志中显示

" debug smtp:不能加载sasl authenticator,投掷:"

IM使用这些库。我尝试了两个版本 1.6.0 1.5.5

compile 'com.sun.mail:android-mail:1.6.0'
compile 'com.sun.mail:android-activation:1.6.0'

如Javamail Android页面和Javamail OAuth2页面所述,请勿启用SASL。

最新更新