# Email an mehrere Empfänger aus einem Applet abschicken



## Joern (30. Apr 2006)

Hallo,

ich habe in meiner Datenbank mehrere Nutzer gespeichert, denen ich allen zusammen oder nach bestimmten Kriterien ausgesucht eine Rundmail schicken will. Mir die Nutzer aus der Datenbank auszulesen ist nicht das Problem, aber ich weißt nicht, wie ich eine email abschicken soll. Der Inhalt der Mail ist immer gleich, evtl. soll der jeweilige Nutzername darin als Variable enthalten sein.

Gibt es in Java eine Klasse hierfür ?


----------



## DP (1. Mai 2006)

z.b.


```
public void sendSystemMessage(String subject, String sysmessage, Vector empfaenger) {
    try {
      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);

      Date date = new Date();
      message.setSentDate(date);

      Multipart multipart = new MimeMultipart();
      MimeBodyPart mimeBody = new MimeBodyPart();

      mimeBody.setText(sysmessage);
      multipart.addBodyPart(mimeBody);

      message.setContent(multipart);
      message.setFrom(new InternetAddress(FROM));
      message.setSubject(subject);

      for (int i = 0; i < empfaenger.size(); i++) {
        message.addRecipient(Message.RecipientType.TO, new InternetAddress( (String) empfaenger.get(i)));
      }

      message.saveChanges();

      Transport transport = mail_session.getTransport(PROT);
      transport.connect(HOST, USER, PASS);
      transport.sendMessage(message, message.getAllRecipients());
      transport.close();
    }
    catch (Exception e) {
      e.printStackTrace();
      logger.error(e);
    }
  }
```


----------



## Thomas123 (1. Mai 2006)

Hey,

vielen Dank für deinen Vorschlag. Wir haben uns mittlerweile auf eine andere Möglichkeit geeinigt. Da das Applet, worin der MailAufruf eh in eine HTML-Seite eingebunden ist, haben wir uns an einer JavaScript Funktion bedient, die sich aus dem Applet die benötigten Emails als String senden lässt, bzw. holt und dann mit einem mailto: -Befehl so verarbeitet, dass alle erfassten Mail-Adressen im lokalen Mail-Programm eingetragen werden und dann von dort aus die Mail geschickt werden kann.

Der Code für die JavaScript Funktion wäre folgender:


```
<script LANGUAGE="JavaScript">

function mailsome1(){
who=("Mail-Addy1,Mail-Addy1, ... , Mail-AddyX");
what=("none");
parent.location.href='mailto:'+who+'?subject='+what+'';
}

</script>
```

wobei halt *who*, für die Adressen steht, die durch Kommatas getrennt werden müssen und *what* steht für den Betreff.
Man muss sich halt nur noch eine Funktion im Applet schreiben, die von der JavaScript Funktion aufgerufen werden kann und die im Applet ermittelten Mail-Adressen als String übergiebt. Da gibt es je nach Geschmack des Betrachters verschiedene Möglichkeiten.

Ich finde unsere jetzige Version recht komfortabel und unkompliziert.


Grüße Thomas


----------



## Gast (11. Aug 2006)

hallo....

könntest du mir das bitte erklären wie das genau funktioniert?!
vielen dank!

mfg andi


----------



## KSG9|sebastian (11. Aug 2006)

damit wird nur das mailprogramm geöffnet (ist wie wenn du nen mailto-Link machst und draufklickst) und als empfänger eben "who" eingetragen, als subject eben "subject"


----------

