aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/fetchmaildistrib
blob: 00cc19107230abc10071c94d5c23cf42aa140d0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#/bin/bash
#
# fetchmaildistrib --- Distribute central fetchmail knowledge.
#
# The central fetchmail database, /etc/fetchmail, contains all accounts that
# are to be fetched by the root's daemon. Often, a user desires quicker
# access (e.g., when testing some email path). In such cases, the destination
# user (marked as is USER here in the poll lines) should set up a ~/.fetchmailrc
# for himself. This scripts generates such lines from the central file.
#
# By Rick van Rein.

# From stdin, select poll lines for user $1
function selectuser () {
	grep ^poll | grep "is $1 here"
}


for i in `cut -d: -f1 </etc/passwd`
do	homedir=`grep ^$i: /etc/passwd | cut -d: -f6`
	fetchfile=`selectuser $i </etc/fetchmailrc`
	if [ -z "$fetchfile" ]
	then	rm -f $homedir/.fetchmailrc
	else	cp /dev/null $homedir/.fetchmailrc
		chmod go-rwx $homedir/.fetchmailrc
		grep ^defaults /etc/fetchmailrc >>$homedir/.fetchmailrc
		selectuser $i </etc/fetchmailrc >>$homedir/.fetchmailrc
	fi
done
ges <ThomaNesges@TNT-Computer.de> # #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # GotMail reads a GetMail logfile (/var/log/fetchmail.log) and prints # statistics from all sessions logged in it, either as normal text on the # Console, or as an html-file. The parsing is done with the awk-scripts # gotmail.awk and gotmail.html.awk. # You can configure its output with a file gotmail.conf either in your home, # /etc, or in /usr/local/gotmail. # # GetMail has to be properly installed. For HTML output the htmllib has to be # installed in /usr/local/htmllib. # # If you have any changes/corrections in the script, please send me email. #------------------------------------------------------------------------------ #!/bin/sh # Gotmail # 1999 by Thomas Nesges <ThomasNesges@TNT-Computer.de> # read the configuration # the configuration can either be # ~/.gotmail.conf # /etc/gotmail.conf # /usr/local/gotmail/gotmail.conf if { test -e ~/.gotmail.conf; }; then { source ~/.gotmail.conf; }; else { if { test -e /etc/gotmail.conf; }; then { source /etc/gotmail.conf; }; else { if { test -e /usr/local/gotmail/gotmail.conf; }; then { source /usr/local/gotmail/gotmail.conf; }; else { echo 'Error: gotmail.conf could not be read'; echo 'gotmail exits now..'; exit; }; fi; }; fi; }; fi; # grep the fetchmail.log for relevant messages and save them in # gotmails tempfile cat /var/log/fetchmail.log | grep 'message' >> /tmp/gotmail.log.tmp cat /var/log/fetchmail.log | grep 'Authorization' >> /tmp/gotmail.log.tmp cat /var/log/fetchmail.log | grep 'fetchmail st' >> /tmp/gotmail.log.tmp # parse the gotmail tempfile and prints a statistiks-screen case "$1" in html) awk -f /usr/local/htmllib/htmllib.awk -f /usr/local/gotmail/gotmail.html.awk /tmp/gotmail.log.tmp > /dev/null ;; -v) echo 'gotmail version: 0.0.1' ;; *) awk -f /usr/local/gotmail/gotmail.awk /tmp/gotmail.log.tmp ;; esac # remove the gotmail tempfile rm /tmp/gotmail.log.tmp