이메일을 보낼 수있는 웹 앱을 만들고 있습니다.이 코드에서는 보내려는 야후 메일을 사용했습니다. javax.mail.AuthenticationFailedException : java로 메일을 보낼 때 연결에 실패 했습니까?
나는 몇 가지 솔루션을 시도하지만 그들은 많은 날이 없었 : 여기- Getting the "javax.mail.AuthenticationFailedException: failed to connect" Error
- javax.mail.AuthenticationFailedException: failed to connect, no password specified? 내 코드입니다 :
try { Properties props = new Properties(); props.put("mail.smtp.host", "smtp.mail.yahoo.com"); // for gmail use smtp.gmail.com props.put("mail.smtp.auth", "true"); props.put("mail.debug", "true"); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.port", "465"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false"); Session mailSession = Session.getInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("[email protected]", "my_pwd"); } }); mailSession.setDebug(true); // Enable the debug mode Message msg = new MimeMessage(mailSession); //--[ Set the FROM, TO, DATE and SUBJECT fields msg.setFrom(new InternetAddress("[email protected]")); msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]")); msg.setSentDate(new Date()); msg.setSubject("Hello World!"); //--[ Create the body of the mail msg.setText("Hello from my first e-mail sent with JavaMail"); //--[ Ask the Transport class to send our mail message Transport.send(msg); return true; } catch (Exception E) { System.out.println("Oops something has gone pearshaped!"); System.out.println(E); return false; }
그리고 여기 디버그입니다 코드 :
DEBUG: JavaMail version 1.4.2 DEBUG: successfully loaded resource: /META-INF/javamail.default.providers DEBUG: Tables of loaded providers DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]} DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]} DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map DEBUG: setDebug: JavaMail version 1.4.2 DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.com", port 465, isSSL false 220 smtp.mail.yahoo.com ESMTP ready DEBUG SMTP: connected to host "smtp.mail.yahoo.com", port: 465 EHLO DESKTOP-132ABCD 250-smtp.mail.yahoo.com 250-PIPELINING 250-SIZE 41697280 250-8 BITMIME 250 AUTH PLAIN LOGIN XOAUTH2 XYMCOOKIE DEBUG SMTP: Found extension "PIPELINING", arg "" DEBUG SMTP: Found extension "SIZE", arg "41697280" DEBUG SMTP: Found extension "8", arg "BITMIME" DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN XOAUTH2 XYMCOOKIE" DEBUG SMTP: Attempt to authenticate DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 AUTH LOGIN //some code 535 5.7.0 (#MBR1240) Please verify your account by going to https://login.yahoo.com Oops something has gone pearshaped! javax.mail.AuthenticationFailedException: failed to connect
감사합니다. 정말 고마워요.
사용중인 계정이 확인 되었습니까? –
예, 계정이 유효하며 보낸 사람과받는 사람 모두 사용하고 있습니다! – iamatsundere181