мой код приводит к ошибке с STARTTLS, как я могу ее решить? - PullRequest
0 голосов
/ 18 мая 2019

Я написал весь код и импортировал файлы mail, активации, com.sun.mail и smtp, но это по-прежнему выдает ошибку в starttls. Это ошибка: javax.mail.MessagingException: STARTTLS требуется, но хост не поддерживает STARTTLS,

        boolean sessionDebug=false;

    Properties props=System.getProperties();
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.port", "465");
    props.put("mail.smtp.auth", "true");

    props.put("mail.smtp.starttls.required", "true");

    final javax.mail.Session mailSession = javax.mail.Session.getInstance(props);
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
   props.put("mail.smtp.debug", "true");

    //Session mailSession=Session.getDefaultInstance(props,null);
    mailSession.setDebug(sessionDebug);
    Message msg = new MimeMessage(mailSession);
    msg.setFrom(new InternetAddress(from));
    InternetAddress[] address={new InternetAddress(to)};
    msg.setRecipients(Message.RecipientType.TO,address);
    msg.setSubject(subject);
    msg.setSentDate(new Date());
    msg.setText(msgText);

    Transport transport =mailSession.getTransport("smtp");
        System.out.println("smtp");

    transport.connect(host,user,pass);
        System.out.println("smtp connection");
    transport.sendMessage(msg,msg.getAllRecipients());
        System.out.println("smtp message");
    transport.close();

1 Ответ

0 голосов
/ 19 мая 2019

Если ваш почтовый сервер не поддерживает STARTTLS, вы не можете его использовать.Попробуйте вместо этого установить mail.smtp.ssl.enable.

Также исправьте все эти распространенные ошибки JavaMail .

...