当前位置: 代码迷 >> J2SE >> 为啥javamail发送失败?
  详细解决方案

为啥javamail发送失败?

热度:67   发布时间:2016-04-23 21:12:51.0
为什么javamail发送失败???
前几次还能发送成功,但是后来一次都不行了

public class MailUtil {

    static int port = 587;

    static String server = "smtp.qq.com";//邮件服务器mail.cpip.net.cn

    static String from = "张三";//发送者,显示的发件人名字

    static String user = "邮箱地址";//发送者邮箱地址

    static String password = "**************";//密码

   
    public static void sendEmail(String email, String subject, String body) throws UnsupportedEncodingException {
        try {
            Properties props = new Properties();
            props.put("mail.smtp.host",server);
            props.put("mail.smtp.port","465");
            props.put("mail.smtp.auth","true"); 
            Transport transport = null;
            Session session = Session.getDefaultInstance(props, null);
            transport = session.getTransport("smtp");
            transport.connect(server, user, password);
            MimeMessage msg = new MimeMessage(session);
            msg.setSentDate(new Date());
            InternetAddress fromAddress = new InternetAddress(user,from,"UTF-8");
            msg.setFrom(fromAddress);
            InternetAddress[] toAddress = new InternetAddress[1];
            toAddress[0] = new InternetAddress(email);
            msg.setRecipients(Message.RecipientType.TO, toAddress);
            msg.setSubject(subject, "UTF-8");   
            msg.setText(body, "UTF-8");
            msg.saveChanges();
            transport.sendMessage(msg, msg.getAllRecipients());
            transport.close();
        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
    public static void main(String args[]) throws UnsupportedEncodingException
    {

        sendEmail("2105616491@qq.com","淫荡的人","猥琐!!");//收件人
        System.out.println("ok");
    }


这是错误代码


ok
javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28

at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at com.javaMail.entity.MailUtil.sendEmail(MailUtil.java:38)
at com.javaMail.entity.MailUtil.main(MailUtil.java:60)



跪求高手!!!!

------解决方案--------------------
试了下
 smtp.qq.com   改成 smtp.exmail.qq.com  就好了