für die Liste aller Seiten
Der Seitenaufbau ist noch nicht ganz glücklich und sollte evtl. nocheinmal überdacht werden. Die Seite ist auch nicht mit aktuellen Version der englischen Seite abgeglichen. Stephan Schwarzbold? 08.11.2005 09:17 Uhr
Hinweis
Nach Aussagen der aktuellen englischen Seite wurde mailposts ab der Version 2.1.7 durch notify ersetzt, welches eine bessere und umfangreichere Funktionalität hat. Dieses Script ist jedoch in allen aktuellen Versionen (bis 2.2.0) noch enthalten und kann weiterhin eingesetzt werden. --Stephan Schwarzbold? 17.10.2006 21:55 Uhr
auch in 2.2.0-beta63 kann man MailPosts aus einer früheren Version reinkopieren, es braucht dann aber noch den entsprechenden Eintrag in stdconfig.php. Wer Notify in 2.2.0-beta63 nicht zum Laufen bekommt, nimm eins aus einer anderen Version
Die Skripteinstellungen in der Datei mailposts.php macht es dem Administrator möglich PmWiki so zu konfigurieren, das es per E-Mail über Änderungen der Seite informiert. Dabei kann MailPosts so eingestellt werden, dass es mehere Seitenänderungen innerhalb kürzester Zeit in einer Mail zusammenfasst, damit das Zielpostfach nicht überläuft.
Durch die E-Mail-Benachrichtigung ist es (besonders bei unregelmäßig aktualisierten Seiten) nicht mehr notwendig regelmäßig die RecentChanges auf Änderungen auf der Seite zu überprüfen.
Alle Einstellungsparameter stehen in scripts/mailposts.php.
Folgende Einstellungen müssen jedoch in der config.php bzw. in dem jeweiligen Script der Gruppe eingetragen werden:
$EnableMailPosts
=1; # aktivieren von mailposts
$MailPostsTo
="mail@example.com"; # Zieladresse der Benachrichtigung
$MailPostsDelay
=1800; # 30+ min Sendeverzögerung (in Sek.)
$MailPostsSquelch
=7200; # mindestens 2+ Stunden zw. den Mails (in Sek.)
ERKLÄRUNGEN:
$MailPostsTo
Für den Fall, dass die Benachrichtigung an mehrere Empfänger gesendet werden soll, müssen die Adressen mit Komma getrennt werden.
$MailPostsDelay
Nach einem Posting ist es häufig der Fall, dass der Autor noch kleinere Korrekturen an seinem Text vornimmt. Deswegen ist es sinnvoll eine gewisse Zeit nach der letzten Änderung verstreichen zu lassen, bevor die Benachrichtigung gesendet wird.
Die variable $MailPostsDelay
gibt also an, welche Zeit (in Sekunden) mindestens verstreichen muss, damit die Mail gesendet wird. Eine weitere Änderung in dieser Zeitspanne wird dieser Benachrichtigungsmail angehängt.
Dabei ist zu beachten, dass die Mail erst mit dem nächsten Aufruf der pmwiki.php nach verstreichen der Zeit versendet werden kann (bei selten besuchten Seiten kann demnach der Versand stark verzögert sein).
Eine Zeiteinstellung von Null(0) hat das sofortige versenden der Mail nach einer Änderung zur Folge.
$MailPostsSquelch
Beschreibt die Mindestzeitspanne zwischen zwei Benachrichtigungsmails. Diese Variablen kann eingesetzt werden, damit bei geringer Wartezeit durch $MailPostsDelay
und einer hohen Änderungsfrequenz, nicht unnötig viele Mails verschickt werden.
Die Standarteinstellungen für $MailPostsDelay
und $MailPostsSquelch
sind 0 und 7200. mit diesen Einstellungen wird über eine Seitenänderung sofort informiert, jedoch die zu erwartenden kleineren Änderungen werden gesammelt und nach 2h versendet.
Die einsetzbaren Variablen zur Beieinflussung von MailPosts stehen unten und in mailposts.php auf Englisch.
Wichtig für MS Windows Installationen
Oftmals sind die Mail-Funktionen von PHP-Engines auf Windowssystemen nicht korrekt konfiguriert. In diesen Fällen muss in die config.php folgende Zeile eingefügt werden:
ini_set('SMTP','smtp.server.com');
Dabei ist smtp.server.com die Adresse des versendenden Mailservers.
MailPosts Variablen
$EnableMailPosts
- Ruft stdconfig.php auf, um das MailPosts Script abzuarbeiten.
$EnableMailPosts
= 1; # aktiviert mailposts
$EnableMailPosts
= 0; # daktiviert mailposts
$MailPostsTo
- Eine durch Komma getrennte Liste der Mail-Empfänger.
$MailPostsTo
= 'admin@example.com, joe@somewhere.org';
$MailPostsFrom
- Die Antwortadresse, welche in der Mail eingetragen wird.
$MailPostsFrom
= 'wiki@example.com';
$MailPostsFrom
= 'Wiki server <wiki@example.com>';
$MailPostsDelay
- Die Zeitspanne (in Sekunden), welche gewartet wird, bis die Benachrichtungsmail gesendet wird. Dabei werden alle bis dahin vorgenommenen Änderungen angehängt. Voreinstellung ist Null(0)
Die Nachricht wird jedoch erst versendet, wenn $MailPostsSquelch
ebenfalls abegelaufen ist.
$MailPostsDelay
= 360; # sendet 6+ min nach dem ersten Posting
$MailPostsSquelch
- Die Mindestzeitspanne (in Sekunden), welche vergehen muss, bevor die Nächste Benachrichtigung versendet wird. Dies kann eingesetzt werden um bei Änderung schnell informiert zu werden, ohne jedoch bei jeder darauffolgenden unbedeutenden Änderung ebenfalls informiert zu werden. Die Anfallenden Änderungen werden mit der Nächsten Mail versendet. Voreinstellung ist 7200 (2h).
$MailPostsDelay
= 43200; # wartet 12+h zwischen zwei Mails
$MailPostsItemFmt
- Der zu jeder Änderung gehörende, zu sendende Text. Die Variable "$PostTime" wird mit dem Datum und der Zeit des Postings ersetzt. (gesteuert von
$MailPostsTimeFmt
(unten)).
# Voreinstellung:
$MailPostsItemFmt
= ' * $PageName . . . $PostTime by $Author
';
# Einfügen der URL (Adresse) in die Benachrichtigung:
$MailPostsItemFmt
= '$PageName . . . $PostTime von $Author
$PageUrl';
$MailPostsTimeFmt
- Das Datums- und Uhrzeitformat für $PostTime von oben. Die Voreinstellung ist die Formatierung von
$TimeFmt
.
$MailPostsTimeFmt
= 'm-H:%M'; # 2004-03-20 17:44
$MailPostsMessage
- Der zu sendende Textkörper. Die Variable "$MailPostsList" wird ersetzt durch die Liste der Postings (welche durch
$MailPostsItemFmt
(oben) formatiert ist).
$MailPostsSubject
- Die Betreffzeile der Mail.
- String für die extra einzufügende E-Mail-Header Zeilen für die mail()-Funktion von PHP.
$MailPostsFunction
- Name der Funktion, die Aufgerufen werden soll um die Mail zu versenden. Als Voreinstellung wird die Standart-
mail()
-Funtion von PHP genutzt, jedoch ist diese nicht auf allen Systemen korrekt implementiert. Diese Variable kann auf 'MailPostsSendmail' gestellt werden. Diese Funktion liegt in: /usr/lib/sendmail. Der Aufruf lautet:
# call /usr/lib/sendmail directly instead of using mail()
$MailPostsFunction
= 'MailPostsSendmail';
$MailPostsFile
- Die Datei, in der MailPosts die Liste der erfolgten Änderungen ablegt. Standart ist:
"$WikiDir/.mailposts"
.
Beachte, dass die Datei änderbar für Webserver-Prozesse sein muss.
für die Liste aller Seiten