com.basecmp.core.usecasesteps.miscellaneous
Class SendMail

java.lang.Object
  extended byBaseCmpUsecaseStep
      extended bycom.basecmp.core.usecasesteps.miscellaneous.SendMail

public class SendMail
extends BaseCmpUsecaseStep

Erstellt aus diversen Step-Eingangswerten ein Mail-Objekt und verschickt es.

Eingangswert From: Um Missbrauch zu unterbinden, ist es per default bei vielen Mails-Servern nicht möglich, den From-Wert mit unregistrierten Benutzern zu setzen. Daher wird der From-Wert wird entweder aus den konfigurierten Werten für den Mail-Server (Domain-Einstellungen im Backoffice) oder aus dem Step-Config-Wert genommen. Nur wenn der Step-Config-Wert 'UseContextEmailFrom' explizit auf 'true' gesetzt wurde, wird From aus dem Usecase-Context gelesen (1. Attribute, 2. Argument).

Hinweis zu Spamming: Derzeit is dieser Step so programmiert, das er eine CSV-Liste zunächst als Attribute und dann als Argument (=Formular aus dem Request) versucht zu lesen. Das heisst es ist leicht vermeidbar, missbrauch zu unterbinden, indem der To-Wert per Usecase-Step erzeugt wird! Formularwerte werden dann ignoriert.

Sämtliche Eingangswerte werden zunächst im UsecaseContext in der Reihenfolge 1. Attribut, 2. Argument gesucht. Ist dies erfolglos, wird versucht, die Werte über die UsecaseStep-Konfigurationswerte zu lesen. Fehlt der Wert und sollte er für die Ausführung notwendig sein, bricht der Step ab und benutzt den Fehlerausgang. Entsprechende Fehlermeldungen sollten im Log zu sehen sein.

Mail-Session: Die Mailsession wird per default mit systemweiten Konfigurationswerten erzeugt:

Soll die Mail-Session aus einer JNDI-Definition erzeugt werden, kann der Name der Resource im Config-Key 'MailSessionJNDI' des Steps angegeben werden. Die Benutzung einer JNDI-Resource ermöglich es ggf unterschiedliche Mail-Session, die systemweit bekannt sind, zu nutzen. Ist 'MailSessionDomain' true, werden alle sowohl JNDI-Resourcen als auch System-Konfigwerte ignoriert.

See Also:
Serialized Form

Step-Configuration-Parameters:
ParameterDescription
UseContextEmailFrom [true|false=default] Mit 'true' wird erzwungen, das die From-EMail-Adresse aus dem UsecaseContext und nicht aus den Properties der Mailsession genommen wird. Aus Sicherheitsgründen ist dieses Feature per Default ausgeschaltet.
MailSessionDomain [true|false=default] Mit dem Ausbau der Multidomainfähigkeiten (ab 2005) kann die Mailsession zusätzlich mit Werten aus der Domain-Tabelle der Datenbank erzeugt werden. Dazu muss diser Konfigurationswert auf 'true' gesetzt werden. Etwaige Konfigurationen per Properties oder JNDI werden dann ignoriert!
MailSessionJNDI Die verwendete Mail-Session kann per JNDI im Container zur Verfügung gestellt werden. Dazu muss in diesem Wert der Name der JNDI-Resource definiert sein und der Config-Key 'MailSessionDomain' auf false stehen.

Expected UsecaseContext-Attributes:
ParameterDescription
To (mandatory) E-Mail-Adresse(n) der Empfänger, durch Kommata getrennt
Cc (optional) E-Mail-Adresse(n) der CC-Empfänger, durch Kommata getrennt
Bcc (optional) E-Mail-Adresse(n) der CC-Empfänger, durch Kommata getrennt
ReplyTo (optional) E-Mail-Adresse(n) der ReplyTo-Empfänger, durch Kommata getrennt
Subject Betreffzeile
Content E-Mail-Inhalt
Attachements Filename(n) der Attachment(s), durch Kommata getrennt
FileName Dateiname für ein einzelnes Attachment. Wird aus Kompatibiltätsgründen zur Verfügung gestellt, da einige UsecaseSteps mit diesem Attributnamen operieren (z.B. CsvExport)

Created UsecaseContext-Attributes:
ParameterDescription
SendMailOk (java.lang.Boolean) True, wenn der Versand erfolgreich durchgeführt wurde Created on 13.01.2004

Refactored by Oliver Rossmüller on 20.07.2004
Refactored by Wolfgang Schröder on 19.01.2005

Author:
Wolfgang Schröder

Constructor Summary
SendMail()
           
 
Method Summary
 void execute(UsecaseContext uc, int unlockKey)
           
protected  void initStep(java.lang.Integer integer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SendMail

public SendMail()
Method Detail

execute

public void execute(UsecaseContext uc,
                    int unlockKey)
             throws java.lang.Exception
Throws:
java.lang.Exception

initStep

protected void initStep(java.lang.Integer integer)


Copyright © 2004 by basecmp® - Professional Web Solutions