summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/crontab4
-rw-r--r--etc/defaults/periodic.conf3
-rwxr-xr-xetc/periodic/daily/500.queuerun34
-rw-r--r--share/man/man5/periodic.conf.54
4 files changed, 41 insertions, 4 deletions
diff --git a/etc/crontab b/etc/crontab
index 4f35681..56ef475 100644
--- a/etc/crontab
+++ b/etc/crontab
@@ -25,7 +25,3 @@ HOME=/var/log
# does nothing, if you have UTC cmos clock.
# See adjkerntz(8) for details.
1,31 0-5 * * * root adjkerntz -a
-#
-# Try and stop mail sitting around in the queue forever if there is no
-# sendmail -q30m periodically trying to dequeue it.
-41 6 * * * root /usr/sbin/sendmail -q
diff --git a/etc/defaults/periodic.conf b/etc/defaults/periodic.conf
index f72b146..a5aee1b 100644
--- a/etc/defaults/periodic.conf
+++ b/etc/defaults/periodic.conf
@@ -118,6 +118,9 @@ daily_status_security_nomfs="NO" # Don't check mfs mounts
daily_status_mail_rejects_enable="YES" # Check mail rejects
daily_status_mail_rejects_logs=3 # How many logs to check
+# 500.queuerun
+daily_queuerun_enable="YES" # Run mail queue
+
# 999.local
daily_local="/etc/daily.local" # Local scripts
diff --git a/etc/periodic/daily/500.queuerun b/etc/periodic/daily/500.queuerun
new file mode 100755
index 0000000..2a8b2a1
--- /dev/null
+++ b/etc/periodic/daily/500.queuerun
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# If there is a global system configuration file, suck it in.
+#
+if [ -r /etc/defaults/periodic.conf ]
+then
+ . /etc/defaults/periodic.conf
+ source_periodic_confs
+fi
+
+case "$daily_queuerun_enable" in
+ [Yy][Ee][Ss])
+ if [ ! -x /usr/sbin/sendmail ]
+ then
+ echo '$daily_queuerun_enable is set but /usr/sbin/sendmail' \
+ "isn't executable"
+ rc=2
+ elif [ ! -d /var/spool/mqueue ]
+ then
+ echo '$daily_queuerun_enable is set but /var/spool/mqueue' \
+ "doesn't exist"
+ rc=2
+ else
+ /usr/sbin/sendmail -q >/dev/null 2>&1 &
+ rc=0
+ fi;;
+
+ *) rc=0;;
+esac
+
+exit $rc
diff --git a/share/man/man5/periodic.conf.5 b/share/man/man5/periodic.conf.5
index 1aba0a6..24e2b29 100644
--- a/share/man/man5/periodic.conf.5
+++ b/share/man/man5/periodic.conf.5
@@ -393,6 +393,10 @@ for the previous day.
.It Ar daily_status_mail_rejects_logs
(num) Set to the number of maillog files that should be checked
for yesterday's mail rejects.
+.It Ar daily_queuerun_enable
+(bool) Set to
+.Dq YES
+if you want to manually run the mail queue at least once a day.
.It Ar daily_local
(str) Set to a list of extra scripts that should be run after all other
daily scripts.
OpenPOWER on IntegriCloud