# smtp Zugriffsproblem mit Java Mail API



## erdoc (14. Jan 2005)

Hallo,
ich bin gerade dabei, dass ich versuche mit der java mail api Mails zu versenden. Über den Mail-Servers meines Providers funktioniert dies problemlos, ich möchte aber auch gerne über GMX Mails versenden können. Habe mich dabei schon einige Zeit damit rumgespielt, scheiterte aber immer an der Registrierung zum Server, obwohl ich mich mit name und passwort authentifiziere und der smtp Zugriff von GMX freigeschaltet ist.

Vielleicht kann mir einer von euch weiterhelfen.Danke.
Hier ist der Code:

```
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;


public class SendJavaMail
{
  public SendJavaMail( String recipient,
                               String subject,
                               String message, String from )
    throws MessagingException
  {

          Authenticator auth = new PopupAuthenticator("GMX-benutzername", "GMX-password");
       Properties props = new Properties();
        props.put("mail.smtp.host", "mail.gmx.net");
        Session session = Session.getInstance(props, auth);


     Message msg = new MimeMessage( session );
    
     InternetAddress addressFrom = new InternetAddress( from );
     msg.setFrom( addressFrom );
    
     InternetAddress addressTo = new InternetAddress( recipient );
     msg.setRecipient( Message.RecipientType.TO, addressTo );
    
     msg.setSubject( subject );
     msg.setContent( message, "text/plain" );
    
     Transport.send( msg );
  }

  public static void main( String args[] ) throws Exception
  {
       new SendJavaMail ( "adressant@adresse.de",
              "Betreff",
              "Die Nachricht",
              "absender@adresse.de");
  }
  
  class PopupAuthenticator extends Authenticator {
    String username;
    String password;
    public PopupAuthenticator(String username,String password){
        this.username=username;
        this.password=password;
    }
    public PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(username,password);
    }
}

}
```


----------



## DP (14. Jan 2005)

ich hatte auch meine probleme mit gmx - hier:

hier: http://www.java-forum.org/de/viewtopic.php?p=10306&highlight=#10306


----------



## Guest (15. Jan 2005)

Danke, für den Hinweis, ich habe den Code ausprobiert, und erhalte jedesmal folgenden Fehler:      java.mail.AuthenticationFailedException. Woran liegt das?   



```
String host = "mail.gmx.net";
    String user = "benutzer";
    String pass = "pwd";
    String proto= "smtp";
    String from = "benutzer@gmx.de";
    String to = "adressat@gmx.de";
    String text = "Test";


    Properties props = System.getProperties();

    props.put("mail.smtp.host", host);
    props.put("mail.smtp.auth", "true");

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

    MimeMessage message = new MimeMessage(mail_session);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject(subject);
    message.setText(text);
    message.saveChanges();

    Transport transport = mail_session.getTransport(proto);
    transport.connect(host, user, pass);

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


----------



## DP (15. Jan 2005)

du weisst schon, dass bei gmx die kundennummer als user anzugeben ist, und nicht die email?!


----------

