aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/fetchmaildistrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/fetchmaildistrib')
-rw-r--r--contrib/fetchmaildistrib29
1 files changed, 29 insertions, 0 deletions
diff --git a/contrib/fetchmaildistrib b/contrib/fetchmaildistrib
new file mode 100644
index 00000000..00cc1910
--- /dev/null
+++ b/contrib/fetchmaildistrib
@@ -0,0 +1,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