0
javax.mailとGoogle OAuthを使用してメールを送信しようとしています。私のワークフローは次のとおりです。グーグルのOAuthとjavax.mailを使用するgoogle oauthでメールを送信
ユーザーのログイン、access_tokenはを取得し、代わりに電子メール&パスワードを、電子メール&トークンによる認証や電子メールを送信するためのjavax.mailを使用し、その後、Javaのバックエンドサーバーにトークンを送信します。しかし、私は小道具でトークンを設定した後、私はまだ無効なユーザー名とパスワードのエラーを取得します。それを修正する方法はありますか?
Properties props = new Properties();
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.smtp.auth", "false");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
props.put("mail.imaps.auth.login.disable", "true");
props.put("mail.imaps.auth.plain.disable", "true");
props.put(OAuth2SaslClientFactory.OAUTH_TOKEN_PROP, accessToken);
Session session = Session.getInstance(props);
session.setDebug(true);
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
mimeMessage.setSubject("test");
mimeMessage.setContent("xxx", "text/html");
SMTPTransport transport = (SMTPTransport)session.getTransport("smtp");
transport.connect("smtp.gmail.com", myEmailAddress, "");
transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
transport.close();
おかげビル。しかし、私はこの方法を試しましたが、これらのコード行を使用するだけでは機能しません。投稿を読んだ人は、私のgithubプロジェクトをチェックしてください。私はすでにそれを働かせてテストしました。 – TommyQu
https://github.com/TommyQu/GoogleEmailText – TommyQu
これは、依存関係にJavaMail 1.5.5とJavaMail 1.4.7の両方がリストされているためです。それは1.4.7をピックアップする必要があります。これが動作しない理由です。 –