# POP vor SMTP



## Guest (29. Apr 2005)

Ich habe folgende Funktion geschrieben und möchte sie mit einer GMX-Adresse benutzen:


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

public class SendJavaMail
{

  public static void postMail( String recipient,
                               String subject,
                               String message, String from )
    throws MessagingException
  {
    Properties props = new Properties();
    props.setProperty("mail.transport.protocol", "smtp");
    props.setProperty("mail.host", "mail.gmx.net");
    props.setProperty("mail.user", "username");
    props.setProperty("mail.password", "passwort");

    Session session = Session.getDefaultInstance( props );

    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
  {
  	postMail( "empfänger-adresse",
              "Betreffzeile",
              "Hier steht der Text der Email.",
              "absender");
  }
}
```

Dabei meckert er aber, dass erst eine POP3 Anmeldung durchgeführt werden muss. 

Da dachte ich mir ich rufe vorher folgende Funktion auf:


```
public static void getMail( String host, String user, String passwd )
    throws Exception
  {
    Session session = Session.getDefaultInstance( new Properties() );

    Store store = session.getStore( "pop3" );
    store.connect( host, user, passwd );
store.close();
  }
```


----------



## Guest (29. Apr 2005)

ich war noch gar nicht fertig 

Jetzt erhalte ich die Fehlermeldung, dass SMTP nicht mehr ausgeführt werden kann (er versucht dabei auf localhost anstatt auf mail.gmx.net zu connecten). Wieso verbindet er sich dadurch zu einem anderen Host?


----------



## DP (29. Apr 2005)

du musst beim senden einen smtp-auth durchführen, dann geht das... such mal im forum, gubt es fertige beispiele, imho auch in den faq


----------



## Guest (29. Apr 2005)

also wirklich fündig geworden bin ich leider nicht. weder beim durchsuchen des boards, noch in der FAQ :-(


----------



## bellmann29 (29. Apr 2005)

Hallo,

einfach mal bei Google Java-Mail eingeben und Du wirst überschüttet.

Aber hier die Seite von Sun. Warum nicht immer erst beim "Ersteller" der API schauen?

java.sun.com/developer/onlineTraining/JavaMail/contents.html

Dort findest Du ein Tutorial zu allem was Du benötigst. Zu Deinem speziellen Problem siehe "Authenticator".

Viel Erfolg


----------

