javax.mail.AuthenticationFailedException

解决方案 »

  1.   

    javax.mail.NoSuchProviderException: Invalid protocol: null
    他说的你protocol是null,所以报错。
    我刚才翻了一遍源码
    at javax.mail.Session.getProvider(Session.java:431)
    at javax.mail.Session.getTransport(Session.java:650)
    at javax.mail.Session.getTransport(Session.java:631)
    at javax.mail.Session.getTransport(Session.java:617)
    逆推到Session.java:617时,发现,他是从Properties中取了mail.transport.protocol的值。
    你把它设置上即可: p.setProperty("mail.transport.protocol", "smtp");
    Session.java:617:
        public Transport getTransport() throws NoSuchProviderException {
            return getTransport(getProperty("mail.transport.protocol"));
        }
      

  2.   

    /*p.put("mail.smtp.port", this.mainServerPort);*//*mail.setMainServerHost("218.244.129.224");//服务器ip
    */ /*mail.setMainServerPort("5005");//服务器端口
    */
    这几句都被你注释了
    然后 mainServerHost="smtp.qq.com";  指定了