Mail Posts

Notify - Benachrichtigung per Email über Änderungen

$EnableNotify

    Tells stdconfig.php to enable the notify script. 

        $EnableNotify = 1;          # enable notify
        $EnableNotify = 0;          # disable notify

$NotifyFrom

    Return email address to be used in the sent email. 

        $NotifyFrom = ‘wiki@example.com’;
        $NotifyFrom = ‘Wiki server <wiki@example.com>’;

$NotifyDelay

    The length of time (seconds) to wait before sending mail after the first post. Defaults to zero - posts are sent as soon as any squelch period has expired. 

        $NotifyDelay = 300;    # send mail 5+ min after first post

$NotifySquelch

    The default minimum time (seconds) that must elapse between sending mail messages. Useful when $NotifyDelay is set to a small value to keep the number of mail notification messages down. Defaults to 10800 (three hours). Individual recipients can override this value in the Site.Notify List page. 

        $NotifySquelch = 43200;  # wait 12+ hours between mailings

$NotifyItemFmt

    The text to be sent for each changed item in the post. The string “$PostTime" is substituted with the time of the post (controlled by $Notify Time Fmt below). 

        # default
        $NotifyItemFmt = ' * $Full Name . . . $PostTime by $Author’;

        # include the page’s URL in the message
        $NotifyItemFmt =
          “ * \$FullName . . . \$Post Time by \$Author\n     \$Page Url”;

        # include the change summary and link to the page’s history in the message
        $NotifyItemFmt = 
          “ * {\$FullName} . . . \$Post Time by {\$Author}
          \n    Summary: {\$LastModifiedSummary}\n    {\$Page Url}?action=diff”;

$NotifyTimeFmt

    The format for dates/times in $PostTime above. Defaults to the value of $Time Fmt. 

        $NotifyTimeFmt = ‘m-H:%M’;  # Sonnabend, 20 Mrz. 2004 17:44

$NotifyBodyFmt

    The body of the message to be sent. The string “$NotifyItems" is replaced with the list of posts (as formatted by $Notify Item Fmt above).

$NotifySubjectFmt

    The subject line of the mail to be sent.

$NotifyHeaders

    String of extra mail headers to be passed to the mail() function.

$NotifyParameters

    String of additional parameters to be passed to PHP’s mail() function [1].

$NotifyFile

    The scratch file where Notify keeps track of recent posting information. Defaults to “$WikiDir/.notifylist”. Note that this file must generally be writable by the webserver process.

$NotifyListPageFmt

    The name of the page containing notify= lines for use by notify.php. Defaults to Site.Notify List.

$NotifyList

    An array of notify= specifications that can be specified from a local customization file (used in addition to entries in Site.Notify List). 

        # send notifications to alice@example.com
        $NotifyList[] = ‘notify=alice@example.com’;

Mailposts ist veraltet:

Das Skript mailposts.php ermöglicht es einem Wiki Administrator, PmWiki so zu konfigurieren, dass es automatisch E-Mails versendet, wenn (bestimmte) Wikiseiten geändert werden. Dabei kann der Administrator einstellen, dass mehrere Veränderungen einer Seite innerhalb einer kurzen Zeit in einer einzelnen E-Mail zusammengefasst werden (damit der Empfänger nicht mit E-Mails überflutet wird).

Das E-Mail-Benachrichtigungen-Feature ist besonders nützlich für Wikis, auf denen nur selten Aktualisierungen stattfinden, da die Notwendigkeit zum regelmäßigen Prüfen der Aktuellen Änderungen, nur um zu sehen, ob sich etwas getan hat, entfällt.

Die gesamten Details zu den Konfigurationsmöglichkeiten finden sich in scripts/mailposts.php. Hier findest Du eine kurze Übersicht, was in die Datei config.php oder in ein Skript für einzelne WikiGruppen eingetragen werden muss, um E-Mail-Benachrichtigungen zu ermöglichen.

 $EnableMailPosts=1;                   # Benachrichtigungen per mail aktivieren
 $MailPostsTo=“somebody@example.com”;  # an wen die e-mails gesendet werden sollen 
 $MailPostsDelay=1800;                 # warte mind. 30 min nach erster Änderung
 $MailPostsSquelch=7200;               # mind. 2 h Abstand zwischen aufeinanderfolgenden mails

Beachte, dass $MailPostsTo eine durch Kommata getrennte Liste von Adressen sein kann, sofern mehrere Empfänger gewünscht sind.

Da auf eine erste Bearbeitung einer Seite oft mehrere kleine Änderungen (etwa zur Fehlerkorrektur) folgen, ist es sinnvoll, eine kurze Zeitspanne abzuwarten, bevor die Benachrichtigung abgesandt wird. $MailPostsDelay legt die Zeitspanne fest, die mindestens nach der ersten Veränderung einer Seite vergehen muss, bevor eine E-Mail verschickt wird. Alle weiteren Änderungen der Seite, die während der angegebenen Wartezeit erfolgen, werden mit in die E-Mail-Benachrichtigung aufgenommen. Die Nachricht wird beim nächsten Ausführen von pmwiki.php nach Ablauf der Wartezeit abgeschickt (was für wenig genutzte Wikis deutlich länger sein kann als die angegebene Wartezeit). Eine Verzögerung von Null führt dazu, dass die Benachrichtigung unmittelbar nach der Aktualisierung einer Seite versendet wird.

$MailPostsSquelch legt die Zeit fest, die mindestens vergehen muss, bevor die nächste Benachrichtigungs-E-Mail versendet wird. Dies ist nützlich, um eine große Zahl kurz aufeinanderfolgender E-Mails zu verhindern, wenn $Mail Posts Delay auf einen kleinen Wert gesetzt ist.

Die voreingestellten Werte für $MailPostsDelay und $Mail Posts Squelch sind 0 und 7200. Mit diesen Werten wird eine E-Mail versendet, sobald eine Seite geändert wird, darauf folgende Änderungen werden für mindestens zwei Stunden zurückgehalten, bevor sie in einer neuen Nachricht versendet werden.

Die Variablen, mit denen E-Mail-Benachrichtigungen konfiguriert werden, finden sich unten und werden auch im Skript mailposts.php beschrieben.

Hinweis für Windows-Installationen

Server auf denen PHP unter Windows läuft, haben möglicherweise die http://www.php.net/mail E-Mail-Funktion von PHP nicht korrekt konfiguriert. Für solche Installationen kann es erforderlich sein, eine Zeile wie

    ini_set(‘SMTP’,’smtp.server.de’);

zu config.php hinzuzufügen, wobei smtp.server.de der Name des von Deinem Host verwendeten Postausgangsserver ist.

Variablen für E-Mail-Benachrichtigungen

$EnableMailPosts
Weist stdconfig.php an, das Skript mailposts.php zu verwenden.
        $EnableMailPosts = 1;          # e-mail Benachrichtungen aktivieren
        $EnableMailPosts = 0;          # e-mail Benachrichtungen deaktivieren
$MailPostsTo
Eine durch Kommata getrennte Liste von Empfängern der e-mails.
        $MailPostsTo = ‘admin@beispiel.de, hans@irgendwo.org’;
$MailPostsFrom
Absenderadresse, die für die Benachrichtigungen genutzt werden soll.
        $MailPostsFrom = ‘wiki@beispiel.de’;
        $MailPostsFrom = ‘Wiki Server <wiki@beispiel.de>’;

:$MailPostsDelay:Die Zeit (in Sekunden), die nach einer ersten Änderung an einer Seite gewartet werden soll, bevor die Benachrichtigung verschickt wird. Voreingestellt ist hier Null, so dass Benachrichtigungen über Änderungen sofort verschickt werden (jedenfalls sobald die mit $Mail Posts Squelch angegebene Wartezeit vorüber ist).

        $MailPostsDelay = 360;    # sende eine E-Mail mind. 6 min nach der ersten Änderung

:$MailPostsSquelch:Die Zeit (in Sekunden), die zwischen aufeinanderfolgenden e-mails mindestens vergehen muss. Nützlich wenn $Mail Posts Delay auf einen kleinen Wert gesetzt ist, um die Zahl der e-mails niedrig zu halten. Voreingestellt sind 7200 (zwei Stunden)

        $MailPostsDelay = 43200;  # warte mind. 12 Stunden zwischen Benachrichtigungen

:$MailPostsItemFmt:Der Text, der für die stattgefundenen Änderungen gesendet werden soll. Der Ausdruck "$Post Time” wird durch die Sendezeit der e-mail ersetzt (kontrolliert durch $MailPostsTimeFmt — siehe unten).

        # Default
        $MailPostsItemFmt = ' * $Page Name . . . $PostTime by $Author’;
        # zum Hinzufügen der Seiten-URL in die Nachricht
        $MailPostsItemFmt =
          “ * \$PageName . . . \$Post Time by \$Author\n     \$Page Url”;

:$MailPostsTimeFmt:Das Format für Datum und Zeit in $Post Time (siehe oben). Voreingestellt auf den Wert von $TimeFmt.

        $MailPostsTimeFmt = ‘m-H:%M’;  # Sonnabend, 20 Mrz. 2004 17:44

:$MailPostsMessage:Der Body der zu sendenden Nachricht. Der Ausdruck "$Mail Posts List” wird ersetzt durch die Liste der Änderungen (formatiert mittels $MailPostsItemFmt — siehe oben).

$MailPostsSubject
Die Betreffzeile der zu sendenen e-mail.
$MailPostsHeaders
Zusätzliche Mail-Headers, die an die mail()-Funktion übergeben werden.
$MailPostsFunction
Name der Funktion, die zum Versenden der e-mail aufgerufen werden soll. Voreingestellt ist die in PHP eingebaute mail-Funktion, aber einige Systeme können fehlerhaft konfiguriert sein, so dass hier eine andere Funktion eingetragen werden muss. Kann auf 'MailPostsSendmail' gesetzt werden, um explizit /usr/lib/sendmail aufzurufen.
        # rufe /usr/lib/sendmail direkt auf anstatt mail() zu nutzen
        $MailPostsFunction = 'MailPostsSendmail';
$MailPostsFile
Die Datei, in der MailPosts die Informationen über die letzten Änderungen verwaltet. Voreingestellt ist "$WikiDir/.mailposts". Beachte, dass der Webserver-Prozess für diese Datei Schreibrechte benötigt.

« Internationalisierung | PmWiki.Documentation Index | Schmutzwortliste »



This page may have a more recent version on pmwiki.org: PmWiki:MailPosts, and a talk page: PmWiki:MailPosts-Talk.