Smtp javax.mail.sendfailedexception发送失败的嵌套异常是类javax.mail.MessaginException

Smtp javax.mail.sendfailedexception发送失败的嵌套异常是类javax.mail.MessaginException,smtp,jakarta-mail,Smtp,Jakarta Mail,它给出了有关STARTTLS命令的一些问题的错误。 它给出了这样的错误 javax.mail.sendfailedexception发送失败的嵌套异常是类javax.mail.MessaginException 所以请帮我摆脱它 Java代码 安慰 输出 调试输出 调试:JavaMail版本1.3.1 调试:java.io.FileNotFoundException:C:\Program Files\java\jre1.8.0\u 77\lib\javamail.providers(系统找不到指

它给出了有关
STARTTLS
命令的一些问题的错误。 它给出了这样的错误

javax.mail.sendfailedexception发送失败的嵌套异常是类javax.mail.MessaginException 所以请帮我摆脱它

Java代码 安慰 输出 调试输出 调试:JavaMail版本1.3.1 调试:java.io.FileNotFoundException:C:\Program Files\java\jre1.8.0\u 77\lib\javamail.providers(系统找不到指定的文件) 调试:URL jar:file:/E:/Study/Java/Jars/MailJars/gimap.jar/META-INF/javamail.providers 调试:已成功加载资源:jar:file:/E:/Study/Java/Jars/MailJars/gimap.jar/META-INF/javamail.providers 调试:URL jar:file:/E:/Study/Java/Jars/MailJars/imap.jar/META-INF/javamail.providers 调试:已成功加载资源:jar:file:/E:/Study/Java/Jars/MailJars/imap.jar/META-INF/javamail.providers 调试:URL jar:file:/E:/Study/Java/Jars/MailJars/pop3.jar/META-INF/javamail.providers 调试:已成功加载资源:jar:file:/E:/Study/Java/Jars/MailJars/pop3.jar/META-INF/javamail.providers 调试:URL jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar/META-INF/javamail.providers 调试:已成功加载资源:jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar/META-INF/javamail.providers 调试:已成功加载资源:/META-INF/javamail.default.providers 调试:加载的提供程序的表 调试:按类名列出的提供程序:{com.sun.mail.smtpsslttransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.smtpsslttransport,Oracle],com.sun.mail.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.SMTPTransport,sun Microsystems,Inc],com.sun.mail.imap.imapssltore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle],com.sun.mail.gimap.GmailSSLStore=javax.mail.Provider[STORE,gimaps,com.sun.mail.gimap.gmailsstore,Oracle],com.sun.mail.pop3ssstore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.pop3ssslstore,Oracle],com.sun.mail.imap.IMAPStore=javax.mail.Provider][STORE,imap,com.sun.mail.imap.IMAPStore,sun Microsystems,Inc],com.sun.mail.gimap.GmailStore=javax.mail.Provider[STORE,gimap,com.sun.mail.gimap.GmailStore,Oracle],com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,sun Microsystems,Inc]] 调试:协议列出的提供程序:{imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.imapslstore,Oracle],imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.Oracle],gimap=javax.mail.Provider[STORE,gimap,com.sun.mail.gimap.GmailStore,Oracle],smtps=javax.mail.Provider[TRANSPORT,smtps,smtps,com.sun.mail.smtpsslttransport,Oracle],pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle],smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.SMTPTransport,Oracle],pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3ssslstore,Oracle],gimaps=javax.mail.Provider[STORE,gimaps,com.sun.mail.gimap.GmailSSLStore,Oracle]}] 调试:已成功加载资源:/META-INF/javamail.default.address.map 调试:URL jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar!/META-INF/javamail.address.map 调试:已成功加载资源:jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar!/META-INF/javamail.address.map 调试:java.io.FileNotFoundException:C:\Program Files\java\jre1.8.0\u 77\lib\javamail.address.map(系统找不到指定的文件) 调试:getProvider()返回javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle] 调试SMTP:useEhlo true,useAuth true 调试SMTP:useEhlo true,useAuth true 调试SMTP:尝试连接到主机“SMTP.gmail.com”,端口587 220 smtp.gmail.com ESMTP n6sm3627811pfa.2-gsmtp 调试SMTP:已连接到主机“SMTP.gmail.com”,端口:587 埃洛·巴斯卡 250-smtp.gmail.com,随时为您服务,[119.82.116.106] 250号35882577 250-8比特 250-STARTTLS 250-增强状态码 250-流水线 250 SMTPUTF8 调试SMTP:找到扩展名“大小”,参数“35882577” 调试SMTP:找到扩展名“8BITMIME”,参数“” 调试SMTP:找到扩展名“STARTTLS”,arg“” 调试SMTP:找到扩展名“ENHANCEDSTATUSCODES”,arg“” 调试SMTP:找到扩展名“管道”,arg“” 调试SMTP:找到扩展名“SMTPUTF8”,arg“” 调试SMTP:use8bit false 邮寄地址: 530 5.7.0必须首先发出STARTTLS命令。n6sm3627811pfa.2-gsmtp 退出
您使用的是JavaMail 1.3.1,它很古老,不支持STARTTLS


显示了什么?您使用的是什么版本的JavaMail?这是一个非常旧的版本,如果可以的话,您应该这样做,尽管我认为这不是问题的根源。请发布调试输出。[1]:请通过此链接查看调试输出。这不是调试输出,请阅读上面的链接。Hai,@BillShannon我已使用调试输出编辑了我的问题,请检查
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class MailDemo {
    public static void main(String[] args) {
        Properties properties=new Properties();
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.starttls.enable","true");
        properties.put("mail.smtp.host","smtp.gmail.com");
        properties.put("mail.smtp.port", "587");
        Scanner scn=new Scanner(System.in);
        System.out.println("Username for Authentication :");
        final String username=scn.nextLine();
        System.out.println("Password for Authentication :");
        final String password=scn.nextLine();
        System.out.println("From Email..");
        String fromEmailAddrs=scn.nextLine();
        System.out.println("To Email..");
        String toEmail=scn.nextLine();
        System.out.println("Subject..");
        String subject=scn.nextLine();
        System.out.println("Message..");
        String textMessage=scn.nextLine();
        Session session=Session.getDefaultInstance(properties,new Authenticator() {
            @Override
            protected javax.mail.PasswordAuthentication getPasswordAuthentication(){
                return new javax.mail.PasswordAuthentication(username, password);
            }
        });
        try{
            Message msg=new MimeMessage(session);
            msg.setFrom(new InternetAddress(fromEmailAddrs));
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail));
            msg.setSubject(subject);
            msg.setText(textMessage);
            Transport.send(msg);
            System.out.println("/n Your Message Delivered Succesfully");
        }
        catch(MessagingException m){
            throw new RuntimeException(m);
        }

    }
}
Username for Authentication :
bijaybhaskar01
Password for Authentication :
abcdef@456789
From Email..
bijaybhaskar01@gmail.com
To Email..
bbswain1001@gmail.com
Subject..
Hello
Message..
hai
Exception in thread "main" java.lang.RuntimeException: javax.mail.SendFailedException: Sending failed;
  nested exception is:
    class javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. fh14sm3131583pab.31 - gsmtp

    at com.mail.bhaskar.MailDemo.main(MailDemo.java:52)
Caused by: javax.mail.SendFailedException: Sending failed;
  nested exception is:
    class javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. fh14sm3131583pab.31 - gsmtp

    at javax.mail.Transport.send0(Transport.java:218)
    at javax.mail.Transport.send(Transport.java:80)
    at com.mail.bhaskar.MailDemo.main(MailDemo.java:48)
DEBUG: JavaMail version 1.3.1
DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jre1.8.0_77\lib\javamail.providers (The system cannot find the file specified)
DEBUG: URL jar:file:/E:/Study/Java/Jars/MailJars/gimap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/E:/Study/Java/Jars/MailJars/gimap.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/E:/Study/Java/Jars/MailJars/imap.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/E:/Study/Java/Jars/MailJars/imap.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/E:/Study/Java/Jars/MailJars/pop3.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/E:/Study/Java/Jars/MailJars/pop3.jar!/META-INF/javamail.providers
DEBUG: URL jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar!/META-INF/javamail.providers
DEBUG: successfully loaded resource: jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar!/META-INF/javamail.providers
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,Oracle], 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,Oracle], com.sun.mail.gimap.GmailSSLStore=javax.mail.Provider[STORE,gimaps,com.sun.mail.gimap.GmailSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.gimap.GmailStore=javax.mail.Provider[STORE,gimap,com.sun.mail.gimap.GmailStore,Oracle], 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,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], gimap=javax.mail.Provider[STORE,gimap,com.sun.mail.gimap.GmailStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], gimaps=javax.mail.Provider[STORE,gimaps,com.sun.mail.gimap.GmailSSLStore,Oracle]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: URL jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar!/META-INF/javamail.address.map
DEBUG: successfully loaded resource: jar:file:/E:/Study/Java/Jars/MailJars/smtp.jar!/META-INF/javamail.address.map
DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jre1.8.0_77\lib\javamail.address.map (The system cannot find the file specified)
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587

220 smtp.gmail.com ESMTP n6sm3627811pfa.2 - gsmtp
DEBUG SMTP: connected to host "smtp.gmail.com", port: 587

EHLO Bhaskar
250-smtp.gmail.com at your service, [119.82.116.106]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250 SMTPUTF8
DEBUG SMTP: Found extension "SIZE", arg "35882577"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SMTPUTF8", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<bijaybhaskar01@gmail.com>
530 5.7.0 Must issue a STARTTLS command first. n6sm3627811pfa.2 - gsmtp
QUIT