In diesem Beitrag möchten wir uns damit auseinandersetzen, wie man im WebSphere Application Server Mail Sessions einrichtet, um sie für den den Versand von E-Mails in Enterprise Applications per JNDI anzusprechen.
Vorbereitung
Falls noch nicht vorhanden, muss in der WebSpere Administrationskonsole als Erstes unter dem Menüpunkt Resources -> Mail Provider ein neuer Eintrag erstellt werden. Anschließend wird über den Menüpunkt Resources -> Mail Session eine neue Session erstellt und dem zuvor erstellten Mail Provider zugeordnet. Beim Erstellen der Mail Session hinterlegt man den JNDI Namen, Protokoll, Serveradresse und ggf. die Zugangsdaten.
Beispiel
Wie man im Screenshot erkennen kann, wurde eine Mail Session mit dem JNDI Namen "mail/notification" erstellt. Auf diese Session wird im folgenden Code-Beispiel zugegriffen 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