DEBUG: setDebug: JavaMail version 1.4ea
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.sina.com.cn", port 25, isSSL false
220 irxd5-203.sinamail.sina.com.cn ESMTP
DEBUG SMTP: connected to host "smtp.sina.com.cn", port: 25EHLO 20100316-0506
250-irxd5-203.sinamail.sina.com.cn
250-8BITMIME
250-SIZE 83886080
250-AUTH PLAIN LOGIN
250 AUTH=PLAIN LOGIN
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "SIZE", arg "83886080"
DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN"
DEBUG SMTP: Found extension "AUTH=PLAIN", arg "LOGIN"
DEBUG SMTP: Attempt to authenticate
AUTH LOGIN
334 VXNlcm5hbWU6
ZGVubmlzMDgwMUBzaW5hLmNvbQ==
334 UGFzc3dvcmQ6
YWJjMTIzYWJjbA==
535 #5.7.0 Authentication failed
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at cn.itcast.mail.EmailSender.send(EmailSender.java:97)
at cn.itcast.mail.EmailSender.main(EmailSender.java:26)

解决方案 »

  1.   

    AuthenticationFailedException
    认证失败..   用户名密码是否正确了.?
      

  2.   

    应该不是用户名的问题吧,
    这是我的java文件
    public class EmailSender {
        private static final String charset = "GBK";
        private static final String defaultMimetype = "text/plain";
        
        public static void main(String[] args) throws Exception {
         EmailSender.send(new String[]{"[email protected]"}, "邮件测试xx", "<b>洛卡网</b>",null , "text/html");
        }
        /**
         * 发送邮件
         * @param receiver 收件人
         * @param subject 标题
         * @param mailContent 邮件内容
         * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
         */
        public static void send(String receiver, String subject, String mailContent, String mimetype) {
         send(new String[]{receiver}, subject, mailContent, mimetype);
        }
        /**
         * 发送邮件
         * @param receivers 收件人
         * @param subject 标题
         * @param mailContent 邮件内容
         * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
         */
        public static void send(String[] receivers, String subject, String mailContent, String mimetype) {
         send(receivers, subject, mailContent, null, mimetype);
        }
        /**
         * 发送邮件
         * @param receivers 收件人
         * @param subject 标题
         * @param mailContent 邮件内容
         * @param attachements 附件
         * @param mimetype 内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
         */
        public static void send(String[] receivers, String subject, String mailContent, File[] attachements, String mimetype) {
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.sina.com.cn");//smtp服务器地址
            props.put("mail.smtp.auth", "true");//需要校验
            Session session = Session.getDefaultInstance(props, new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("[email protected]","123456");//登录用户名/密码  这里就不透露我和密码了
                }
            });
            session.setDebug(true);
            try {
                MimeMessage mimeMessage = new MimeMessage(session);
                mimeMessage.setFrom(new InternetAddress("[email protected]"));//发件人邮件            InternetAddress[] toAddress = new InternetAddress[receivers.length];
                for (int i=0; i<receivers.length; i++) {
                    toAddress[i] = new InternetAddress(receivers[i]);
                }
                mimeMessage.setRecipients(Message.RecipientType.TO, toAddress);//收件人邮件
                mimeMessage.setSubject(subject, charset);
                
                Multipart multipart = new MimeMultipart();
                //正文
                MimeBodyPart body = new MimeBodyPart();
               // body.setText(message, charset);不支持html
                body.setContent(mailContent, (mimetype!=null && !"".equals(mimetype) ? mimetype : defaultMimetype)+ ";charset="+ charset);
                multipart.addBodyPart(body);//发件内容
                //附件
                if(attachements!=null){
                for (File attachement : attachements) {
                    MimeBodyPart attache = new MimeBodyPart();
                   //ByteArrayDataSource bads = new ByteArrayDataSource(byte[],"application/x-any");
                    attache.setDataHandler(new DataHandler(new FileDataSource(attachement)));
                    String fileName = getLastName(attachement.getName());
                    attache.setFileName(MimeUtility.encodeText(fileName, charset, null));
                    multipart.addBodyPart(attache);
                }
                }
                mimeMessage.setContent(multipart);
               // SimpleDateFormat formcat = new SimpleDateFormat("yyyy-MM-dd");            
                mimeMessage.setSentDate(new Date());//formcat.parse("2010-5-23")
                Transport.send(mimeMessage);            
            } catch (Exception e) {
             e.printStackTrace();
            }
        }    private static String getLastName(String fileName) {
            int pos = fileName.lastIndexOf("\\");
            if (pos > -1) {
                fileName = fileName.substring(pos + 1);
            }
            pos = fileName.lastIndexOf("/");
            if (pos > -1) {
                fileName = fileName.substring(pos + 1);
            }
            return fileName;
        }
    }
      

  3.   

    AuthenticationFailedException
    这里确实清清楚楚的认证失败嘛,  先看看再说.!