質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

5668閲覧

Javaでメール送信できない

wangzj

総合スコア53

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/07/02 02:41

前提・実現したいこと

Javaでメール送信したい

発生している問題・エラーメッセージ

DEBUG SMTP: Attempt to authenticate using mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM DEBUG SMTP: AUTH LOGIN command trace suppressed DEBUG SMTP: AUTH LOGIN failed Exception in thread "main" java.lang.RuntimeException: javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials 3sm12616768pfp.114 - gsmtp at main.java.api.utils.SendMail.send(SendMail.java:82) at main.java.api.utils.SendMail.main(SendMail.java:18) Caused by: javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials 3sm12616768pfp.114 - gsmtp at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:893) at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:814) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:728) at javax.mail.Service.connect(Service.java:386) at javax.mail.Service.connect(Service.java:245) at javax.mail.Service.connect(Service.java:194) at javax.mail.Transport.send0(Transport.java:253) at javax.mail.Transport.send(Transport.java:124) at main.java.api.utils.SendMail.send(SendMail.java:79) ... 1 more

該当のソースコード

java

1package main.java.api.utils; 2 3import java.io.UnsupportedEncodingException; 4import java.util.Properties; 5 6import javax.mail.Address; 7import javax.mail.Message; 8import javax.mail.MessagingException; 9import javax.mail.PasswordAuthentication; 10import javax.mail.Session; 11import javax.mail.Transport; 12import javax.mail.internet.InternetAddress; 13import javax.mail.internet.MimeMessage; 14 15public class SendMail { 16 public static void main(String[] args) { 17 SendMail mailSend = new SendMail(); 18 mailSend.send("JavaMail テストメール", "テストメールの本文"); 19 } 20 21 public void send(String subject, String content) { 22 23 final String to = "**@**.io"; 24 final String from = "**@gmail.com"; 25 26 // Google account mail address 27 final String username = "**@gmail.com"; 28 // Google App password 29 final String password = "********"; 30 31 //final String charset = "ISO-2022-JP"; 32 final String charset = "UTF-8"; 33 34 final String encoding = "base64"; 35 36 // for gmail 37 String host = "smtp.gmail.com"; 38 String port = "587"; 39 String starttls = "true"; 40 41 Properties props = new Properties(); 42 props.put("mail.smtp.host", host); 43 props.put("mail.smtp.port", port); 44 props.put("mail.smtp.auth", "true"); 45 props.put("mail.smtp.starttls.enable", starttls); 46 47 props.put("mail.smtp.connectiontimeout", "10000"); 48 props.put("mail.smtp.timeout", "10000"); 49 50 props.put("mail.debug", "true"); 51 52 Session session = Session.getInstance(props, 53 new javax.mail.Authenticator() { 54 protected PasswordAuthentication getPasswordAuthentication() { 55 return new PasswordAuthentication(username, password); 56 } 57 }); 58 59 try { 60 MimeMessage message = new MimeMessage(session); 61 62 // Set From: 63 message.setFrom(new InternetAddress(from, "Watanabe Shin")); 64 // Set ReplyTo: 65 message.setReplyTo(new Address[]{new InternetAddress(from)}); 66 // Set To: 67 message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); 68 69 message.setSubject(subject, charset); 70 message.setText(content, charset); 71 72 message.setHeader("Content-Transfer-Encoding", encoding); 73 74 Transport.send(message); 75 76 } catch (MessagingException e) { 77 throw new RuntimeException(e); 78 } catch (UnsupportedEncodingException e) { 79 throw new RuntimeException(e); 80 } 81 82 } 83} 84

試したこと

パスワード忘れたので、新しいパスワードを作成しました。
googleにメールとパスワードでログインできました。
新しいパスワードは問題がありません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Googleアカウント管理にログインして、二段認証を設定して、アプリ(メール)のパスワードを発行して、使えるようになりました。

投稿2019/07/02 03:33

wangzj

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問