MailPublisher (Objekt): Unterschied zwischen den Versionen
(4 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
==Beschreibung== | ==Beschreibung== | ||
− | Ein MailPublisher publiziert Artikel, Resourcen und Medien als E-Mail. Dazu | + | Ein MailPublisher publiziert Artikel, Resourcen und Medien als E-Mail. Dazu muss das Ausgabe-Template in einer XML-Struktur die Daten für die E-Mail beschreiben. |
+ | |||
+ | Begonnen wird eine Mail-Publisher Definition mit <code><mail-publishing></code> Sollen mehrere Mails verschickt werden | ||
+ | und enthalten diese Mails identische Bereiche können sie unterhalb von <code><mail-publishing></code> mit | ||
+ | <code><bodypart-ref></code> definiert werden. | ||
+ | |||
+ | <bodypart-ref id="myplain">Reine Text Mail</bodypart-ref> | ||
+ | |||
+ | Um HTML im bodypart zu definieren muß der Text zunächst in eine Variable gespeichert werden, damit sie | ||
+ | über sp:print xml-encodet werden kann. | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <sp:set name="htmlvaue"> | ||
+ | <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> | ||
+ | <html> | ||
+ | Eine <b>HTML</b> Mail! | ||
+ | |||
+ | Ein Image-Attachment kann über die Content-ID referenziert werden:<br> | ||
+ | <img src="cid:myimage"> | ||
+ | </html> | ||
+ | </sp:set> | ||
+ | |||
+ | <bodypart-ref id="myhtml" content-type="text/html; charset=us-ascii"> | ||
+ | <sp:print name="htmlvalue" encoding="xml"/> | ||
+ | </bodypart-ref> | ||
+ | </source> | ||
+ | |||
+ | Für Datei Attachments muß mit dem file-Attribute die Binary-ID des Mediums angegeben werden. Über die ID kann auch innerhalb von HTML auf die Attachments zugegriffen werden (<code><img src="cid:myimage"></code>) | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <bodypart-ref | ||
+ | id="myimage" | ||
+ | disposition="inline" | ||
+ | file="<sp:print name="!{myimage}.media.binary"/>"/> | ||
+ | </source> | ||
+ | |||
+ | Optional kann für ein Attachment auch der Dateiname explizit angegeben werden (Für Attachements muss <code>sub-type="mixed"</code> im <code><body></code> angegeben werden). | ||
+ | <source lang="xml"> | ||
+ | <bodypart-ref | ||
+ | id="myimage" | ||
+ | disposition="attachment" | ||
+ | file="<sp:print name="!{myimage}.media.binary"/>" | ||
+ | filename="<sp:print name="!{myimage}.media.originalFilename"/>"/> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | Die einzelnen Body-Parts können auch verschachtelt werden. Bei Verschachtelungen kann noch ein sub-type angegeben werden. Gültige Werte sind 'mixed' und 'alternative' | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body-part-ref id="subpart" sub-type="alternative"> | ||
+ | <body-part-ref>Teil mit dem ersten Text</body-part-ref> | ||
+ | <body-part-ref>Teil mit dem zweiten Text</body-part-ref> | ||
+ | </body-part-ref> | ||
+ | </source> | ||
+ | |||
+ | Nach dem die Body-Part definiert sind die für alle Mails identisch sind, werden auch unterhalb von <mail-publishing> die Mails mit <mail> definiert. | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <mail> | ||
+ | </source> | ||
+ | |||
+ | Unterhalb von <mail> können Mail-Header angegeben werden | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <header name="Reply-To">zumir@zu.hause.de</header> | ||
+ | </source> | ||
+ | |||
+ | Unterhalb von <mail> können Properties definiert werden, die in den Body-Parts ersetzt werden | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <property name="var1">ein Text</property> | ||
+ | </source> | ||
+ | |||
+ | Kommt in den Body-Parts die Zeichenkette ${var1} vor wird diese durch 'ein Text' ersetzt. Unterhalb von <mail> wird die From-Addresse Angegeben | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <from personal="Peter Pan" address="peter.pan@nimmerland.net"/> | ||
+ | </source> | ||
+ | |||
+ | Unterhalb von <mail werden die To, CC und BCC Adressen angegeben | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <to personal="Heinz Müller" address="hm@domain.com"/> | ||
+ | <cc personal="Peter Lustig" address="peter.lustig@loewenzahl.de"/> | ||
+ | <bcc personal="Nich Lustig" address="info@nl.de"/> | ||
+ | </source> | ||
+ | |||
+ | Unterhalb von <mail> wird anschließend der Body mit <body> definiert. | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body> | ||
+ | </source> | ||
+ | |||
+ | Body kann optional einen sub-type enthalten. Gültige Werte sind 'mixed' und 'alternative' | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body sub-type="alternative"> | ||
+ | </source> | ||
+ | |||
+ | Für einfache Mail's kann hier direkt der Body-Text eingetragen werden. | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body content-type="text/html"> | ||
+ | <sp:print name="htmlvalue" encoding="xml"/> | ||
+ | </body> | ||
+ | </source> | ||
+ | |||
+ | Es kann auch eine bodypart-ref verwendet werden | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body ref="myhtml"/> | ||
+ | </source> | ||
+ | |||
+ | Für Mehrteilige Mails werden unterhalb von <body> die einzelnen <body-part>'s angegeben | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body sub-type="alternative"> | ||
+ | <bodypart ref="myplain"/> | ||
+ | <bodypart ref="myhtml"/> | ||
+ | <bodypart ref="myimage"/> | ||
+ | </body> | ||
+ | </source> | ||
+ | |||
+ | Die Mail kann auch noch weiter verschachtelt werden | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <body sub-type="alternative"> | ||
+ | <bodypart ref="myplain"/> | ||
+ | <bodypart ref="myhtml"/> | ||
+ | <bodypart> | ||
+ | <bodypart ref="myimage1"/> | ||
+ | <bodypart ref="myimage2"/> | ||
+ | </bodypart> | ||
+ | </body> | ||
+ | </source> | ||
+ | |||
+ | Der <mail>-Tag kann beliebig (Die Rechner-Resourcen beschränken die Anzahl) wiederholt werden um mehrere Mails zu generieren. Es sollte allerdings darauf geachtet werden, dass nicht unnötig viel Content innerhalb von <mail> steht. Vielmehr sollten die <body-part-ref>-Tags für die Content-Lastigen Teile verwendet werden. | ||
+ | |||
+ | ===Multipart-Mail Beispiel=== | ||
+ | <source lang="xml"> | ||
+ | <%-----------------%> | ||
+ | <%-- HTML HEADER --%> | ||
+ | <%-----------------%> | ||
+ | <sp:set name="htmlheader" value=" | ||
+ | <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> | ||
+ | |||
+ | <html> | ||
+ | <head> | ||
+ | <meta content=\"text/html;charset=ISO-8859-15\" | ||
+ | http-equiv=\"Content-Type\"> <title>ein titel</title> | ||
+ | </head> | ||
+ | <body>"/> | ||
+ | |||
+ | <%-----------------%> | ||
+ | <%-- HTML BODY --%> | ||
+ | <%-----------------%> | ||
+ | <sp:set name="htmlbody" value=" | ||
+ | <p> | ||
+ | Dies ist eine <b>HTML</b>-Mail<br> | ||
+ | Und ein Bild:<br> | ||
+ | <img src=\"cid:htmlimg\"/> | ||
+ | </p> | ||
+ | "/> | ||
+ | |||
+ | <%-----------------%> | ||
+ | <%-- HTML FOOTER --%> | ||
+ | <%-----------------%> | ||
+ | <sp:set name="htmlfooter" value=" | ||
+ | </body> | ||
+ | </html>"/> | ||
+ | |||
+ | |||
+ | <%---------------------%> | ||
+ | <%-- MAIL_PUBLISHING --%> | ||
+ | <%---------------------%> | ||
+ | |||
+ | <mail-publishing> | ||
+ | <bodypart-ref id="plaintext">Hallo ${salutation} ${lastname} | ||
+ | Dies ist eine Plain-Text Mail. | ||
+ | </bodypart-ref> | ||
+ | <bodypart-ref id="htmlheader" content-type="text/html;charset=us-ascii"> | ||
+ | <sp:print name="htmlheader" encoding="xml"/></bodypart-ref> | ||
+ | <bodypart-ref id="htmlbody" content-type="text/html;charset=us-ascii"> | ||
+ | <sp:print name="htmlbody" encoding="xml"/></bodypart-ref> | ||
+ | <bodypart-ref id="htmlfooter" content-type="text/html;charset=us-ascii"> | ||
+ | <sp:print name="htmlfooter" encoding="xml"/></bodypart-ref> | ||
+ | <bodypart-ref id="htmlimg" disposition="inline" | ||
+ | file="<sp:print name="!{traumschiff}.media.binary"/>"/> | ||
+ | |||
+ | <sp:for from="0" to="1" index="i"> | ||
+ | <mail> | ||
+ | <header name="aaa">fff</header> | ||
+ | <property name="salutation">Herr</property> | ||
+ | <property name="lastname">Veltrup</property> | ||
+ | <from personal="Holger Veltrüp" address="veltrup@sitepark.com"/> | ||
+ | <to personal="Holger Veltrüp" address="veltrup@sitepark.com"/> | ||
+ | <subject>publishing mail-test (<sp:print name="i"/>)</subject> | ||
+ | <body sub-type="alternative"> | ||
+ | <bodypart ref="plaintext"/> | ||
+ | <bodypart ref="htmlheader"/> | ||
+ | <bodypart content-type="text/html"> | ||
+ | Hallo ${salutation} ${lastname}, | ||
+ | </bodypart> | ||
+ | <bodypart ref="htmlbody"/> | ||
+ | <bodypart ref="htmlfooter"/> | ||
+ | <bodypart ref="htmlimg"/> | ||
+ | </body> | ||
+ | </mail> | ||
+ | </sp:for> | ||
+ | </mail-publishing> | ||
+ | </source> | ||
+ | |||
+ | |||
==Attribute== | ==Attribute== | ||
− | {| class="prettytable" | + | {| class="prettytable sortable" |
|- class="hintergrundfarbe1" | |- class="hintergrundfarbe1" | ||
! Attribut || Type || Beschreibung || ab IES Version | ! Attribut || Type || Beschreibung || ab IES Version | ||
Zeile 58: | Zeile 270: | ||
| isPublished | | isPublished | ||
| [[Boolean]] | | [[Boolean]] | ||
− | | Liefert im [[Template-Modus|Out-Modus]] <code>true</code>, wenn der Artikel vom Publisher publiziert wird oder false, wenn der Artikel vom Publisher depubliziert wird | + | | Liefert im [[Template-Modus|Out-Modus]] <code>true</code>, wenn der Artikel vom Publisher publiziert wird oder <code>false</code>, wenn der Artikel vom Publisher depubliziert wird |
| 1 | | 1 | ||
|} | |} | ||
Zeile 65: | Zeile 277: | ||
<noinclude> | <noinclude> | ||
[[Category:Objekte]] | [[Category:Objekte]] | ||
− | |||
[[Category:Qualität_des_Codes_prüfen]] | [[Category:Qualität_des_Codes_prüfen]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 3. November 2010, 12:13 Uhr
Dieser Artikel bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf bitte mit ihn zu verbessern und entferne anschließend diese Markierung. |
Name
MailPublisher - Publiziert Artikel, Resourcen und Medien als E-Mail
Beschreibung
Ein MailPublisher publiziert Artikel, Resourcen und Medien als E-Mail. Dazu muss das Ausgabe-Template in einer XML-Struktur die Daten für die E-Mail beschreiben.
Begonnen wird eine Mail-Publisher Definition mit <mail-publishing>
Sollen mehrere Mails verschickt werden
und enthalten diese Mails identische Bereiche können sie unterhalb von <mail-publishing>
mit
<bodypart-ref>
definiert werden.
<bodypart-ref id="myplain">Reine Text Mail</bodypart-ref>
Um HTML im bodypart zu definieren muß der Text zunächst in eine Variable gespeichert werden, damit sie über sp:print xml-encodet werden kann.
<sp:set name="htmlvaue">
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
Eine <b>HTML</b> Mail!
Ein Image-Attachment kann über die Content-ID referenziert werden:<br>
<img src="cid:myimage">
</html>
</sp:set>
<bodypart-ref id="myhtml" content-type="text/html; charset=us-ascii">
<sp:print name="htmlvalue" encoding="xml"/>
</bodypart-ref>
Für Datei Attachments muß mit dem file-Attribute die Binary-ID des Mediums angegeben werden. Über die ID kann auch innerhalb von HTML auf die Attachments zugegriffen werden (<img src="cid:myimage">
)
<bodypart-ref
id="myimage"
disposition="inline"
file="<sp:print name="!{myimage}.media.binary"/>"/>
Optional kann für ein Attachment auch der Dateiname explizit angegeben werden (Für Attachements muss sub-type="mixed"
im <body>
angegeben werden).
<bodypart-ref
id="myimage"
disposition="attachment"
file="<sp:print name="!{myimage}.media.binary"/>"
filename="<sp:print name="!{myimage}.media.originalFilename"/>"/>
Die einzelnen Body-Parts können auch verschachtelt werden. Bei Verschachtelungen kann noch ein sub-type angegeben werden. Gültige Werte sind 'mixed' und 'alternative'
<body-part-ref id="subpart" sub-type="alternative">
<body-part-ref>Teil mit dem ersten Text</body-part-ref>
<body-part-ref>Teil mit dem zweiten Text</body-part-ref>
</body-part-ref>
Nach dem die Body-Part definiert sind die für alle Mails identisch sind, werden auch unterhalb von <mail-publishing> die Mails mit <mail> definiert.
<mail>
Unterhalb von <mail> können Mail-Header angegeben werden
<header name="Reply-To">zumir@zu.hause.de</header>
Unterhalb von <mail> können Properties definiert werden, die in den Body-Parts ersetzt werden
<property name="var1">ein Text</property>
Kommt in den Body-Parts die Zeichenkette ${var1} vor wird diese durch 'ein Text' ersetzt. Unterhalb von <mail> wird die From-Addresse Angegeben
<from personal="Peter Pan" address="peter.pan@nimmerland.net"/>
Unterhalb von <mail werden die To, CC und BCC Adressen angegeben
<to personal="Heinz Müller" address="hm@domain.com"/>
<cc personal="Peter Lustig" address="peter.lustig@loewenzahl.de"/>
<bcc personal="Nich Lustig" address="info@nl.de"/>
Unterhalb von <mail> wird anschließend der Body mit <body> definiert.
<body>
Body kann optional einen sub-type enthalten. Gültige Werte sind 'mixed' und 'alternative'
<body sub-type="alternative">
Für einfache Mail's kann hier direkt der Body-Text eingetragen werden.
<body content-type="text/html">
<sp:print name="htmlvalue" encoding="xml"/>
</body>
Es kann auch eine bodypart-ref verwendet werden
<body ref="myhtml"/>
Für Mehrteilige Mails werden unterhalb von <body> die einzelnen <body-part>'s angegeben
<body sub-type="alternative">
<bodypart ref="myplain"/>
<bodypart ref="myhtml"/>
<bodypart ref="myimage"/>
</body>
Die Mail kann auch noch weiter verschachtelt werden
<body sub-type="alternative">
<bodypart ref="myplain"/>
<bodypart ref="myhtml"/>
<bodypart>
<bodypart ref="myimage1"/>
<bodypart ref="myimage2"/>
</bodypart>
</body>
Der <mail>-Tag kann beliebig (Die Rechner-Resourcen beschränken die Anzahl) wiederholt werden um mehrere Mails zu generieren. Es sollte allerdings darauf geachtet werden, dass nicht unnötig viel Content innerhalb von <mail> steht. Vielmehr sollten die <body-part-ref>-Tags für die Content-Lastigen Teile verwendet werden.
Multipart-Mail Beispiel
<%-----------------%>
<%-- HTML HEADER --%>
<%-----------------%>
<sp:set name="htmlheader" value="
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<meta content=\"text/html;charset=ISO-8859-15\"
http-equiv=\"Content-Type\"> <title>ein titel</title>
</head>
<body>"/>
<%-----------------%>
<%-- HTML BODY --%>
<%-----------------%>
<sp:set name="htmlbody" value="
<p>
Dies ist eine <b>HTML</b>-Mail<br>
Und ein Bild:<br>
<img src=\"cid:htmlimg\"/>
</p>
"/>
<%-----------------%>
<%-- HTML FOOTER --%>
<%-----------------%>
<sp:set name="htmlfooter" value="
</body>
</html>"/>
<%---------------------%>
<%-- MAIL_PUBLISHING --%>
<%---------------------%>
<mail-publishing>
<bodypart-ref id="plaintext">Hallo ${salutation} ${lastname}
Dies ist eine Plain-Text Mail.
</bodypart-ref>
<bodypart-ref id="htmlheader" content-type="text/html;charset=us-ascii">
<sp:print name="htmlheader" encoding="xml"/></bodypart-ref>
<bodypart-ref id="htmlbody" content-type="text/html;charset=us-ascii">
<sp:print name="htmlbody" encoding="xml"/></bodypart-ref>
<bodypart-ref id="htmlfooter" content-type="text/html;charset=us-ascii">
<sp:print name="htmlfooter" encoding="xml"/></bodypart-ref>
<bodypart-ref id="htmlimg" disposition="inline"
file="<sp:print name="!{traumschiff}.media.binary"/>"/>
<sp:for from="0" to="1" index="i">
<mail>
<header name="aaa">fff</header>
<property name="salutation">Herr</property>
<property name="lastname">Veltrup</property>
<from personal="Holger Veltrüp" address="veltrup@sitepark.com"/>
<to personal="Holger Veltrüp" address="veltrup@sitepark.com"/>
<subject>publishing mail-test (<sp:print name="i"/>)</subject>
<body sub-type="alternative">
<bodypart ref="plaintext"/>
<bodypart ref="htmlheader"/>
<bodypart content-type="text/html">
Hallo ${salutation} ${lastname},
</bodypart>
<bodypart ref="htmlbody"/>
<bodypart ref="htmlfooter"/>
<bodypart ref="htmlimg"/>
</body>
</mail>
</sp:for>
</mail-publishing>
Attribute
Attribut | Type | Beschreibung | ab IES Version |
---|---|---|---|
id | ID | ID des Publishers | 1 |
type | String | Liefert immer mail
|
1 |
anchor | Anchor | Anchor des Publishers | 1 |
name | String | Name des Publishers | 1 |
encoding | String | Encoding das der Publisher verwenden soll (UTF-8 , ISO-8859-15 , ...)
|
1 |
locale | Locale | Die Sprache, die für diesen Publisher verwendet werden soll | 1 |
clients | Collection <Client> | Liste der Mandanten, die Zugriff auf diesen Publisher haben | 1 |
metadata | Map <String,String> | Metadaten eines Publishers | 1 |
metadataString | String | Metadaten eines Publishers als Zeichenkette. Jede Zeile ein Schlüssel/Werte-Paar getrennt mit einem = (gleich) | 1 |
isPublished | Boolean | Liefert im Out-Modus true , wenn der Artikel vom Publisher publiziert wird oder false , wenn der Artikel vom Publisher depubliziert wird
|
1 |