Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden

Mailversand über IBM WebSphere E-Mail-Provider

In die­sem Beitrag möch­ten wir uns damit aus­ein­an­der­set­zen, wie man im WebSphere Application Server Mail Sessions ein­rich­tet, um sie für den den Versand von E-Mails in Enterprise Applications per JNDI anzusprechen.

Vorbereitung

Falls noch nicht vor­han­den, muss in der WebSpere Administrationskonsole als Erstes unter dem Menüpunkt Resources -> Mail Provider ein neuer Eintrag erstellt wer­den. Anschließend wird über den Menüpunkt Resources -> Mail Session eine neue Session erstellt und dem zuvor erstell­ten Mail Provider zuge­ord­net. Beim Erstellen der Mail Session hin­ter­legt man den JNDI Namen, Protokoll, Serveradresse und ggf. die Zugangsdaten.

Beispiel

screen_mail_jndi

Wie man im Screenshot erken­nen kann, wurde eine Mail Session mit dem JNDI Namen "mail/notification" erstellt. Auf diese Session wird im fol­gen­den Code-Beispiel zuge­grif­fen und anschlie­ßend eine E-Mail versendet.

public class MailService {
  Hashtable<String, String> env;
  Context ctx;
  public MailService() {
    env = new Hashtable<String, String>();
    env.put(PROPS.JNDI_CACHE_OBJECT, PROPS.JNDI_CACHE_OBJECT_CLEARED);
    try {
      ctx = new InitialContext(env);
      Session mailSession = (Session) ctx.lookup("mail/notification");
      Message msg = new MimeMessage(mailSession);
      msg.setFrom(new InternetAddress("Test"));
      String destinationAddress = "max@mustermann.de";
      msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(destinationAddress ));
      msg.setSubject("Test");
      msg.setText("Hello World");
      Transport.send(msg);
    } catch (Exception e) {
	 e.printStackTrace();
    }
  }
}

Quellen

14. November 2014

Pin It on Pinterest