# Java Mail alles was man wissen sollte



## 3000volt (11. April 2007)

Hallo an alle, und ganz besonders an Thomas Darimont.
Ich habe mal von dir Thomas einen Code ausprobiert der über die Javax.mail API eine E-Mail versenden soll. Jetzt habe ich Mercury Mail Server installiert und es klappt ganz gut. Jedoch konnte ich keine Mail über meinen GMX Account versenden. Ich denke mal das die Autorisierung nicht geklappt hat.

 Also jetzt meine Frage was muss man Beachten wie funktioniert der Ablauf. Was bedeuten die Properties. An welcher stelle beginnt die Autorisierung. 

Kann es eventuell daran liegen dass ich über einen Router ins Internet komme? 
Jedoch muss ich noch vermerken das Outlook keine Probleme macht.


Vieleicht hat einer einen Code der mit GMX oder WEB.de funktioniert.

Hier mal der Code:

package com.myeclipse.mail;

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

public class JavaMail {

  public static void main (String args[]) throws Exception {

    String smtpHost = "smtp.gmx.net";
    String popHost = "mail.gmx.net";
    String from = "mango78@gmx.net";
    String to = "mango78@gmx.de";
    String username = "mango78@gmx.de";
    String password = "99658";

    // Get system properties
    Properties props = System.getProperties();

    // Setup mail server
   props.put("mail.smtp.host", smtpHost);

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

    // Get session
    Session session = Session.getDefaultInstance(props, null);
    //Gibt in auf der Console Meldungen zum Verlauf des Sendens aus
    session.setDebug(true);

    // Pop Authenticate yourself
    Store store = session.getStore("pop3");
    store.connect(popHost, username, password);

    // Define message
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(Message.RecipientType.TO, 
      new InternetAddress(to));
    message.setSubject("Hello JavaMail");
    message.setText("Welcome to GMX JavaMail");

    // Send message
    Transport.send(message);
  }
}


Folgenden Exception wir geworfen:

DEBUG: setDebug: JavaMail version 1.3.1
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]
DEBUG POP3: connecting to host "mail.gmx.net", port 110
Exception in thread "main" javax.mail.MessagingException: Connect failed;
  nested exception is:
	java.net.ConnectException: Connection timed out: connect
	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:106)
	at javax.mail.Service.connect(Service.java:233)
	at javax.mail.Service.connect(Service.java:134)
	at com.myeclipse.mail.JavaMail.main(JavaMail.java:34)


----------



## zeja (11. April 2007)

Hi hier ist ein Beispiel welches mit web.de und allgemein Authorisierung funktioniert:
http://www.tutorials.de/forum/java/255387-email-mit-javamail-versenden.html


----------



## 3000volt (11. April 2007)

*Super Danke*

Vielen dank, hat sogar mit smtp.gmx.net geklappt.


----------



## dilan (8. Mai 2009)

Hallo,
ich würde gerne wissen was heisst den "geklappt" ? 
Ich kriege nämlich nur am Ende "message received", aber keine Mail kommt an meinem angegebene Adresse. Was heisst das dann, wo sind die verschickten Mails/NAchrichten bzw. wie kann ich sie sehen?

Grüsse


----------



## Anime-Otaku (8. Mai 2009)

Ich kann nun auch nur versuchen es nach zu vollziehen...

Dein Programm schickt die Mail über deinen vorhandenen Mail Acount bei gmx (Zugriff über smtp.gmx.de) eine Mail an die Zieladresse.

Ansonsten ist es fraglich wie aktiv der User noch ist der den Thread gepostet hat....und ob er überhaupt noch etwas dazu weiß^^


----------



## dilan (8. Mai 2009)

Danke für den Antwort, aber ich fürchte ich war nich genug deutlich.
Ich versuche noch mals:
Kommt an die Zieladresse einen Mail an bzw. kriegt der Empfänger den Nachricht der von sender geschickt wurde. Bei mir nämlich an die Empfänger-adresse nix angekommen, obwohl der nachricht erfolgreich gesendet wurde. Warum?

Grüsse


----------

