mailnotify is called by a background process at regular intervals. The script sends an automated email to subscribed users if topics were changed in a web since the script was last run.
%NOTIFYTOPIC%
* Main.FredBloggs
* Main.FredBloggs - secondary@home.com
* Main.EngineeringGroup
The first entry is the default form, the notification gets sent to the e-mail address specified in the user's home page. The second entry lists an alternative e-mail address. The third entry specifies a group, the notification gets sent to each member of the group.
You can also use %MAINWEB% instead of Main, but this is not necessary even if you have renamed the main web by configuring $mainWebname in TWiki.cfg.
Net::SMTP module if it is installed on your system. Set this with the SMTPMAILHOST variable in TWikiPreferences.
The notify e-mail uses the default changes.tmpl template, or a skin if activated in the TWikiPreferences.
mailnotify also relies on two hidden files in each TWiki/data/[web] directory: .changes and .mailnotify. Make sure both are writable by your web server process. .changes contains a list of changes; go ahead and make this empty. .mailnotify contains a timestamp of the last time notification was done.
You can use an external mail program, like sendmail, if the Net::SMTP module is not installed. Set the program path in $mailProgram in TWiki.cfg.
SMTPMAILHOST in TWikiPreferences to an empty value.
SMTPSENDERHOST variable to define the mail sender host (some SMTP installations require this).
cron table so that mailnotify is called in an interval of your choice. Please consult man crontab of how to modify the table that schedules program execution at certain intervals. Example:
% crontab -e 0 2 * * * (cd /path/to/twiki/bin; ./mailnotify -q)The above line will run mailnotify nightly at 02:00. The
-q switch suppresses all normal output.
For ISP installations: Many ISPs don't allow hosted accounts direct cron access, as it's often used for things that can heavily load the server. Workaround scripts are available.
On Windows NT/2000: You can use a scheduled task if you have administrative privileges.
Note: AT on an NT machine is pretty limited.
Microsoft lists several third-party
replacements. TWiki:Codev/CronTabWin is a free scheduler for Windows.
%STATISTICSTOPIC%
$doLogTopicView, $doLogTopicSave and $doLogTopicUpload in TWiki.cfg are set. This will generate log file entries (see below).
twiki/bin/statistics script from a cron job, once a day is recommended. This will update the WebStatistics topics in all webs.
nobody on many systems. Example crontab entry: 0 0 * * * (cd /path/to/TWiki/bin; ./statistics >/dev/null 2>&1)
nobody : Run the utility twiki/bin/geturl in your cron job and specify the URL of the twiki/bin/statistics script as a parameter. Example: 0 0 * * * (cd /path/to/TWiki/bin; ./geturl mydomain.com /urlpath/to/TWiki/bin/statistics >/dev/null 2>&1)
twiki/bin/statistics script can also be executed as a CGI script, just enter the URL in your browser. Examples: http://mydomain.com/twiki/bin/statistics
http://mydomain.com/twiki/bin/statistics/Main
http://mydomain.com/twiki/bin/statistics/Main?logdate=200001
$logDir variable in TWiki.cfg
log<year><month>.txt
twiki/data/log202510.txt
| <time> | <wikiusername> | <action> | <web>.<topic> | <extra info> | <IP address> |
| 26 Oct 2025 - 20:03 | Main.TWikiGuest | view | TWiki.WebRss | | 66.124.232.02 |
$doLogTopic<action> flags
| Script | Action name | Extra info |
|---|---|---|
| attach | attach | when viewing attach screen of previous uploaded attachment: filename |
| changes | changes | |
| edit | edit | when editing non-existing topic: (not exist) |
| register | register | E-mail address |
| save | save | when replacing existing revision: repRev 1.3 when user checks the minor changes box: dontNotify |
| search | search | search string |
| rdiff | rdiff | 1.4 1.3 |
| rename | rename | when moving topic: moved to Newweb.NewTopic |
| rename | move | when moving attachment: Attachment filename moved to Newweb.NewTopic |
| upload | upload | filename |
| view | view | when viewing non-existing topic: (not exist) when viewing previous topic revision: r1.3 |
SEARCH. The number of topics listed by the limit parameter.:
%SEARCH{".*" web="TWiki" regex="on" nosearch="on" order="modified"
reverse="on" limit="50"}%
SEARCH:
%SEARCH{"\.*" scope="topic" regex="on" nosearch="on"}%
-- TWiki:Main.MikeMannix - 01 Dec 2001
![]() |
|
|