# mail versand



## sinclair (14. Aug 2015)

hallo leuts
ich programmiere gerade einen mailclient.
ich durchführe gerade ein refactoring, bezüglich Übersichtlichkeit und Unabhängigkeit, nun habe ich meine versandmethode umgeschrieben, diese will allerdings nicht so funktionieren. lange rede, kurzer sinn, folgend das Fragment:

```
public void setServerProperties(ServerDetails serverDetails, Sender sender)
    {
        Properties properties = new Properties();
        properties.put("mail.smtp.host", serverDetails.getHost());
        properties.put("mail.smtp.port", serverDetails.getPort());
        properties.put("mail.smtp.user", sender.getSenderMail());
        properties.put("mail.smtp.password", sender.getPassword());
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
     
        Session session = Session.getInstance(properties);

    }
```
die folgende exception:


```
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout -1;
  nested exception is:
    java.net.ConnectException: Connection refused: connect
```
ich übergebe den port und den host:

```
ServerDetails serverDetails =new ServerDetails("mail.gmx.net", "587");
```

mir ist nicht klar, wieso er auf den localhost kommt.
danke für eure antwort.


----------



## DeBukkIt (15. Aug 2015)

Die Klasse ServerDetails scheint selbst-gebaut zu sein. Womöglich werden die Parameter, die du ihr übergibst ("mail.gmx.net", "587"), nicht in der Klasse gespeichert, da zur Verbindung laut Fehlermeldung die Werte "localhost" und "25" benutzt werden.
Überprüfe also einmal die Klasse ServerDetails auf Verarbeitung der Parameter.

Der Rest sieht gut aus. Die Fehlermeldung, übrigens, wird geworfen, weil der Client nicht auf localhost:25 verbinden kann, was eben eine Folge der oben genannten Nicht-Übergabe der richtigen Parameter ist.


----------

