javax.mail.AuthenticationFailedException: 535 5.7.3 Неудачная аутентификация на сервере Exchange с NTLM - PullRequest
0 голосов
/ 27 сентября 2018

Клиент требует, чтобы программа могла отправлять почту через его почтовый сервер Exchange.
Когда я посмотрел в Интернете несколько примеров, я наткнулся на несколько страниц, которые помогли мне создать небольшой метод дляотправляющая часть

private void sendMailYeah() {
    final String username = "user_id"; 
    final String password = "userpassword";

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.debug", "true");
    props.put("mail.smtp.starttls.enable", "false");
    props.put("mail.smtp.from", "the mail to be used);
    props.put("mail.smtp.user",  username);
    props.put("mail.smtp.password", password);
    props.put("mail.smtp.host", "the server to be used");
    props.put("mail.smtp.port", "the port to be used");
    props.put("mail.smtp.auth.mechanisms","NTLM");

    props.put("mail.smtp.auth.ntlm.domain","domain name"); 


    Session session = Session.getInstance(props,new MyAuthenticator(username,password));
    session.setDebug(true);

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("testaddress@testadress.it"));
        message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse("myaddress@superaddress.com"));
        message.setSubject("Test email");
        message.setText("TEST EMAIL");

        Transport.send(message);

        System.out.println("Done");

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

  public static class MyAuthenticator extends Authenticator {

        String user;
        String pw;
        public MyAuthenticator (String username, String password)
        {
            super();
            this.user = username;
            this.pw = password;
        }
        public PasswordAuthentication getPasswordAuthentication()
        {
            return new PasswordAuthentication(user, pw);
        }
      }


Однако, когда программа достигает части «Transport.send (message)», она запускает следующее исключение

10:53:15,273 INFO  [stdout] (default task-4) DEBUG: successfully loaded resource: /META-INF/javamail.default.providers

10:53:15,274 INFO  [stdout] (default task-4) DEBUG: Tables of loaded providers

10:53:15,274 INFO  [stdout] (default task-4) DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle]}

10:53:15,274 INFO  [stdout] (default task-4) DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Oracle], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Oracle], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]}

10:53:15,275 INFO  [stdout] (default task-4) DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map

10:53:15,276 INFO  [stdout] (default task-4) DEBUG: setDebug: JavaMail version 1.5.5

10:53:15,302 INFO  [stdout] (default task-4) DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]

10:53:15,309 INFO  [stdout] (default task-4) DEBUG SMTP: need username and password for authentication

10:53:15,309 INFO  [stdout] (default task-4) DEBUG SMTP: useEhlo true, useAuth true

10:53:15,309 INFO  [stdout] (default task-4) DEBUG SMTP: trying to connect to host "the host", port 25, isSSL false

10:53:15,371 INFO  [stdout] (default task-4) 220 SrvExchange.<host> Microsoft ESMTP MAIL Service ready at Thu, 27 Sep 2018 10:49:09 +0200

10:53:15,372 INFO  [stdout] (default task-4) DEBUG SMTP: connected to host "host", port: 25
10:53:15,372 INFO  [stdout] (default task-4) 

10:53:15,376 INFO  [stdout] (default task-4) EHLO mylocalmachine

10:53:15,406 INFO  [stdout] (default task-4) 250-SrvExchange.<host> Hello [37.159.179.130]

10:53:15,407 INFO  [stdout] (default task-4) 250-SIZE 104857600

10:53:15,407 INFO  [stdout] (default task-4) 250-DSN

10:53:15,407 INFO  [stdout] (default task-4) 250-ENHANCEDSTATUSCODES

10:53:15,407 INFO  [stdout] (default task-4) 250-STARTTLS

10:53:15,407 INFO  [stdout] (default task-4) 250-X-ANONYMOUSTLS

10:53:15,407 INFO  [stdout] (default task-4) 250-AUTH NTLM

10:53:15,407 INFO  [stdout] (default task-4) 250-X-EXPS GSSAPI NTLM

10:53:15,407 INFO  [stdout] (default task-4) 250-8BITMIME

10:53:15,407 INFO  [stdout] (default task-4) 250 XRDST

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "SIZE", arg "104857600"

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "DSN", arg ""

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "STARTTLS", arg ""

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "X-ANONYMOUSTLS", arg ""

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "AUTH", arg "NTLM"

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "X-EXPS", arg "GSSAPI NTLM"

10:53:15,407 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "8BITMIME", arg ""

10:53:15,408 INFO  [stdout] (default task-4) DEBUG SMTP: Found extension "XRDST", arg ""

10:53:15,408 INFO  [stdout] (default task-4) DEBUG SMTP: Attempt to authenticate using mechanisms: NTLM

10:53:15,408 INFO  [stdout] (default task-4) DEBUG SMTP: Using mechanism NTLM

10:53:15,554 INFO  [stdout] (default task-4) DEBUG NTLM: type 1 message: 4E 54 4C 4D 53 53 50 00 01 00 00 00 03 B2 00 00 07 00 07 00 29 00 00 00 09 00 09 00 20 00 00 00 4E 53 31 32 44 30 30 31 33 65 64 72 61 73 69 73 

10:53:15,554 INFO  [stdout] (default task-4) DEBUG SMTP: AUTH NTLM command trace suppressed

10:53:15,601 INFO  [stdout] (default task-4) DEBUG NTLM: type 3 message: 4E 54 4C 4D 53 53 50 00 03 00 00 00 18 00 18 00 7C 00 00 00 18 00 18 00 94 00 00 00 0E 00 0E 00 40 00 00 00 1C 00 1C 00 4E 00 00 00 12 00 12 00 6A 00 00 00 00 00 00 00 AC 00 00 00 01 82 00 00 65 00 64 00 72 00 61 00 73 00 69 00 73 00 69 00 6E 00 66 00 6F 00 5F 00 68 00 6F 00 6D 00 65 00 62 00 6F 00 6F 00 6B 00 73 00 4E 00 53 00 31 00 32 00 44 00 30 00 30 00 31 00 33 00 95 C9 A8 F5 5A D0 E5 1F D0 3D C4 FC 3A 6E 66 CF C3 35 0A 4A EB F5 D0 F6 ED 5D 67 79 6D E0 68 DD B6 D0 B3 24 88 96 47 CD 90 28 E1 C2 CE 2B 36 F5 

10:53:20,647 INFO  [stdout] (default task-4) DEBUG SMTP: AUTH NTLM failed

10:53:20,650 ERROR [stderr] (default task-4) javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful
10:53:20,650 ERROR [stderr] (default task-4) 

10:53:20,651 ERROR [stderr] (default task-4)    at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:914)

10:53:20,651 ERROR [stderr] (default task-4)    at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:825)

10:53:20,651 ERROR [stderr] (default task-4)    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:730)

10:53:20,652 ERROR [stderr] (default task-4)    at javax.mail.Service.connect(Service.java:388)

10:53:20,652 ERROR [stderr] (default task-4)    at javax.mail.Service.connect(Service.java:246)

10:53:20,652 ERROR [stderr] (default task-4)    at javax.mail.Service.connect(Service.java:195)

10:53:20,652 ERROR [stderr] (default task-4)    at javax.mail.Transport.send0(Transport.java:254)

10:53:20,652 ERROR [stderr] (default task-4)    at javax.mail.Transport.send(Transport.java:124)

Где можетэто проблема?Я пытался узнать, есть ли у кого-то аналогичная проблема, но я ничего не смог найти.Я также попытался добавить свойства "mail.smtp.user" и "mail.smtp.password", но это также не помогло

...