Javamail 535 5.7.8 authentication failed

2019-08-10 19:22发布

问题:

I'm using javamail api to send mails.

The following code has been working for about 5 months:

public static void sendMail(String dest, String oggetto, String testoEmail, String[] filePath) throws MessagingException{
    String sender2="mymail";
    String passSender2="mypass";
    String smpt2="smpt server";
    String port2="25";
    Properties props = new Properties();
    props.put("mail.smtp.port", port2);  //imposta la porta
    props.put("mail.smtp.host", smpt2);
    props.put("mail.smtps.auth", "true");
    props.put("mail.debug", "true");
    props.put("mail.smtp.starttls.enable","true");  //imposta la connessione cifrata





    Session session = Session.getDefaultInstance(props, null);

    MimeMessage message = getMessage(filePath, oggetto, session, testoEmail);


    InternetAddress fromAddress = new InternetAddress(sender2);
    InternetAddress toAddress = new InternetAddress(dest);
    message.setFrom(fromAddress);
    message.setRecipient(Message.RecipientType.TO, toAddress);
    Transport transport = session.getTransport("smtp");
    transport.connect(smpt2, 25, sender2, passSender2);

    transport.sendMessage(message, message.getAllRecipients());
    transport.close();
}

But now i get this error:

535 5.7.8 Error: authentication failed: authentication failure

I tried to use

props.put("mail.smtp.auth.mechanisms", "VALUE" );

with Value="LOGIN" or value="PLAIN" or value="DIGEST-MD5" or value="CRAM-MD5" but nothing worked. I tried to send an email through the webmail and it worked, so my account is not closed, and my credentials are right.

This is the debug trace:

DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "smtserver", port 25, isSSL false
220 smtserver ESMTP Postfix
DEBUG SMTP: connected to host "smtserver", port: 25

EHLO MYPC
250-smtserver
250-PIPELINING
250-SIZE 102400000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SIZE", arg "102400000"
DEBUG SMTP: Found extension "VRFY", arg ""
DEBUG SMTP: Found extension "ETRN", arg ""
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "DSN", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM 
AUTH LOGIN
334 VevergrgEDFEF6
SC,OPVKDVEPOVKPOKPKPPK
334 dvelvrevrevr
WEFERFREFREFD
535 5.7.8 Error: authentication failed: authentication failure

Do you have some ideas?

回答1:

Try changing Session.getDefaultInstance to Session.getInstance.

If that doesn't help, include more of the debug output showing the failure.