JavaMail Client не прошел проверку подлинности для отправки анонимной почты во время MAIL FROM - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь отправить электронное письмо на Java, но получаю эту ошибку:

org.apache.geronimo.javamail.transport.smtp.SMTPSendFailedException:

SMTP; Клиент не прошел аутентификацию для отправки анонимной почты во время ПОЧТЫ ОТ

вот мой код:

public static void sendHtmlEmail(String subject, String messages){

    try{
        String HOST = ...;
        final String USER = ...;
        final String PASSWORD = ...;
        String PORT = "587";
        String TO = ...;            
        String SUBJECT = "Test Mail";
        String TEXT = "This is a test message from my java application. Just ignore it";

        Properties props = System.getProperties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.localhost", HOST);
        props.put("mail.smtp.port", PORT);
        props.put("mail.smtp.auth",true);
        props.put("mail.smtp.starttls.enable", true);

        Authenticator auth = new Authenticator()
        {
            @Override
            protected PasswordAuthentication getPasswordAuthentication()
            {
                return new PasswordAuthentication(USER, PASSWORD);
            }
        };

        Session session = Session.getInstance(props,auth);

        session.setDebug(true);

        MimeMessage message = new MimeMessage(session);    
        message.setFrom(new InternetAddress(USER));
        message.addRecipient(RecipientType.TO, new InternetAddress(TO));
        message.setSentDate(new Date());
        message.setSubject(SUBJECT);
        message.setText(TEXT);
        message.saveChanges();

        Transport transport = session.getTransport("smtp");
        transport.connect(HOST, USER, PASSWORD);
        transport.sendMessage(message, message.getAllRecipients());           
        transport.close();  

    }
    catch(Exception e){
        e.printStackTrace();
    } 
}

Я пробовал другие решения, которые нашел, но почему-то все только ухудшает ситуацию. У меня такое ощущение, что что-то не так с аутентификацией или это игнорируется, потому что я могу использовать все как пароль и имя пользователя без получения ошибки типа «неправильный пароль / имя пользователя».

Может кто-нибудь помочь мне, пожалуйста?

...