com.basecmp.core.usecasesteps.miscellaneous
Class SendMail
java.lang.Object
BaseCmpUsecaseStep
com.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:
- sendmail.transferprotocol
- sendmail.smtpauth
- sendmail.host
- sendmail.user
- sendmail.password
- sendmail.from
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:
| Parameter | Description |
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:
| Parameter | Description |
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:
| Parameter | Description |
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
|
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 |
SendMail
public SendMail()
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