HomeDruckansicht | Schrift grösser/kleiner | Mobile-Ansicht

Informatikdienste - ZInfo

 

Interface zwischen UniCMS und einer Mailing-Liste

30. April 2009

Vorbemerkung: dieser Beitrag wendet sich an Webmoderatoren und andere ZInfo-Leser. Es geht um eine Schnittstelle zwischen Mail und Web und um die Newsletter-Infrastruktur. Der Artikel zeigt im abschliessenden Teil auch den Zusatznutzen des Listserver-Einsatzes z.B. beim Posting.

Unser neuer Listen-Server sympa erlaubt es, professionelle und sichere Mailing-Listen zu betreiben, die von beliebig vielen Nutzern abonniert werden können. Unser ZInfo-Newsletter kann beispielsweise nicht nur von UZH-Angehörigen abonniert werden, sondern auch von interessierten Lesern ausserhalb der Domäne UZH - letzteres allerdings nur nach Approval durch den List-Owner. Ein Formular zum Abonnieren zeigt Ihnen das Webinterface.

Formular zum Abonnieren
Formular zum Abonnieren einer Mailing-Liste (anklicken)

Anmeldeformular

Die UniCMS-Seite http://www.unicms.uzh.ch/docu/elements/htmlforms.html dokumentiert das generelle Erstellen von Web-Formularen. Ein solches Formular ruft das Programm mailform auf, um die eingegebenen Daten an eine bestimmte Mailadresse zu schicken. Auch der Autor hat schon über dieses mailform-Programm geschrieben (ZInfo 24).

Die Informatikdienste bieten diese Möglichkeit schon seit langem an. Aber wie können Sie im Rahmen des CMS ein Formular erstellen, das als Interface zum Listserver sympa dient? Alles andere als eine Hexerei! Es geht nämlich nur darum, den Befehl "subscribe zinfo" im Subject-Feld einer Meldung an die Mailadresse sympa@id.lists.uzh.ch zu schicken. Die einzige Herausforderung liegt darin, dass der Leser neben der Option "Abonnieren" auch noch die Option "Abo aufheben" haben muss.

Feld mit zwei Optionen sieht so aus: Das Formular muss also entweder "subscribe zinfo" oder "unsubscribe zinfo" dem Listen-Server übergeben. Möglich wird dies mit einem kleinen Trick, nämlich dem Einsatz eines select-Feldes im Rahmen des FORM, siehe Quellentext unten mit roter Kennzeichnung der beiden Optionen.

Sympa-Interface

Eine Mailing-Liste kann vom jeweiligen IT-Verantwortlichen des Institutes beantragt werden. In unserem Beispiel heisst die Liste "zinfo". Im folgenden sehen Sie nun den Quelltext mit dem altbekannten FORM-Tag, den beiden Eingabefeldern (für Mail-Adresse, Name), dem select-Feld (zum Abonnieren ODER Abo aufheben) und noch ein paar versteckten Feldern ("hidden"). Um diesen Quelltext zu verstehen, werden gewisse html- bzw. xhtml-Kenntnisse vorausgesetzt. Die html-Tags FORM und TABLE sind die bekannten Tags, die ein Formular bzw. eine Tabelle konstruieren. Der folgende Code besteht vollständig aus einem Formular, das durch das Endtag </form> abgeschlossen wird:

<form action="http://www.id.uzh.ch/cgi-bin/mailform" method="post">

<table class="ornate">
   <tr>
   <td>Ihre E-Mail Adresse:</td> <td>
   <input name="-FROM" size="40" type="text" />
   </td>
   </tr>

   <tr>
   <td>Name des Absenders:</td>  <td>
   <input name="-NAME" size="40" type="text" />
   </td>
   </tr>

</table>
<p>Möchten Sie das ZInfo abonnieren?
<br />

<select name="-Subject" size="1">
        <option selected="selected" value="subscribe zinfo">abonnieren</option>
        <option value="unsubscribe zinfo">Abo aufheben</option>

                                                </select>
</p>
<p>
Der "Submit"-Knopf dient dazu, das Formular abzuschicken.
<input type="submit" />         <input type="reset" />
   <input name="-BASE__URL" type="hidden" 
       value="http://www.id.uzh.ch/publikationen/zinfo/formular.html" />

   <input name="---TO" type="hidden" value="sympa@id.lists.uzh.ch" />

   <input name="-footerURL" type="hidden" 
       value="http://www.id.uzh.ch/publikationen/zinfo/formular.html" />
   <input name="-footerURLNAME" type="hidden" value="zurueck" />
</p>
</form>

Das eigentliche Interface ist rot gekennzeichnet. Der ganze Code ist gemäss unserem CMS-Schema gültig.

Fazit und Übung

Dieses Formular schickt also den Befehl "subscribe zinfo" oder "unsubscribe zinfo" im Subject-Feld an die Mailadresse sympa@id.lists.uzh.ch. Sie sehen, dass die sympa-Mailadresse im versteckten Feld "---TO" spezifiziert wird, also in diesem Feld versteckt ist. Wenn Sie den Code analysieren, werden Sie feststellen, dass man keine eigentlichen Programmierkenntnisse braucht. Der html-Text verwendet im Wesentlichen das FORM-Tag, ein TABLE-Tag, sowie eine Reihe von Formularfeldern. Die versteckten Formularfelder geben neben der TO-Adresse die aktuelle URL-Adresse http://www.id.uzh.ch/publikationen/zinfo/formular.html an. Wem diese Tags trotzdem "spanisch" vorkommen, kann nochmals das eingangs erwähnte Beispiel-Formular betrachten. Alternativ wäre es möglich, dass Sie einfach ein Mail an sympa@id.lists.uzh.ch senden mit "subscribe zinfo" im Subject-Feld - ohne Formular als Übung mit einem ganz gewöhnlichen Mailprogramm.

Bei dieser Übung bleibt der Textkörper leer.

Link: mailform mit Bestätigung der Eingabewerte (ZInfo 24)

https://lists.uzh.ch/ mit Zusatznutzen

Und für den Administrator einer Mailing-Liste und den List-Owner gibt es das Webinterface von Sympa unter https://lists.uzh.ch/. Auch für das Posting einer Meldung und weitere Funktionen (z.B. Archiv) kann das Webinterface von Sympa genutzt werden.

Posting: Archiv:
Posting einer Meldung über das Webinterface unter https://lists.uzh.ch/
Posting einer Meldung über das Webinterface unter https://lists.uzh.ch/ (anklicken)
Archiv der Mailing-Liste zinfo
Archiv der Mailing-Liste zinfo (anklicken)

Im Falle von zinfo ist das Posting den ID-Mitarbeitenden vorbehalten, während das Archiv allen Benutzern zugänglich ist. Diese Weboberfläche hat allerdings nichts mit dem UniCMS zu tun, wobei die ZInfo-Redaktion ein Posting sowieso mit dem Mailprogramm Thunderbird produziert.

Neben dem Webinterface hat uns der Einsatz des neuen Listservers Sympa noch weitere Zusatznutzen gebracht:

  1. IT-Verantwortliche und ID-Mitarbeiter sind automatisch eingeschrieben aufgrund einer Oracle-Anbindung von Sympa.
  2. Abonnieren durch andere Leser ausserhalb UZH-Domäne möglich dank Approval durch List-Owner. Sympa erlaubt, auch externe Nutzer einzubeziehen und zu verwalten.
  3. Im täglichen Betrieb ist es sehr praktisch, dass der Listserver dem Administrator eine bounce-Warnung übermittelt, wenn einzelne Mailadressen nicht mehr gültig sind: Because we received MANY non-delivery reports, the 3 subscribers listed below have been notified that they might be removed from list ... Auf der Weboberfläche sind die problematischen Mailadressen farbig gekennzeichnet, sodass der List-Owner diese sofort entfernen kann.
  4. Der Administrator kann die einzelnen Meldungstypen (z.B. welcome, subscribe, unsubscribe) individuell anpassen (auf D, E und F). Beispiel auf Englisch: Your email address (bla@id.uzh.ch) has been removed from list zinfo@id.lists.uzh.ch - bye !
Bye sagt Ihnen auch ...
Bye sagt Ihnen auch ...

Peter Vollenweider