javax.E-mail.AuthenticationFailedException: Fehler beim herstellen einer Verbindung kein Kennwort angegeben?

Dieses Programm versucht eine e-mail schicken, aber wirft eine Laufzeit-exception:

javax.mail.AuthenticationFailedException: failed to connect, no password specified?

Warum bin ich immer diese exception, wenn ich die geliefert haben, die den korrekten Benutzernamen und das Kennwort für die Authentifizierung?

Sowohl der Absender und Empfänger haben g-mail-Konten. Der Absender und der Empfänger beide haben g-mail-Konten. Der Absender hat 2-Schritt-überprüfung deaktiviert.

Dies ist der code:

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

class tester {
    public static void main(String args[]) {
        Properties props = new Properties();
        props.put("mail.smtp.host" , "smtp.gmail.com");
        props.put("mail.stmp.user" , "username");

        //To use TLS
        props.put("mail.smtp.auth", "true"); 
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.password", "password");
        //To use SSL
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", 
            "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");


        Session session  = Session.getDefaultInstance( props , null);
        String to = "[email protected]";
        String from = "[email protected]";
        String subject = "Testing...";
        Message msg = new MimeMessage(session);
        try {
            msg.setFrom(new InternetAddress(from));
            msg.setRecipient(Message.RecipientType.TO, 
                new InternetAddress(to));
            msg.setSubject(subject);
            msg.setText("Working fine..!");
            Transport transport = session.getTransport("smtp");
            transport.connect("smtp.gmail.com" , 465 , "username", "password");
            transport.send(msg);
            System.out.println("fine!!");
        }
        catch(Exception exc) {
            System.out.println(exc);
        }
    }
}

Sogar nach der Vergabe des Passwortes bekomme ich die exception. Warum ist es nicht authentifizieren?

InformationsquelleAutor Suhail Gupta | 2011-07-07

Schreibe einen Kommentar