Hi David, David Bremner <da...@tethera.net> writes:
> Well, you might be right, but that would mean we didn't need the patch > made by the previous maintainer. How about logging? As far as I know > nullmailer-send logs to stdout / stderr. That's a good point. nullmailer does not have logging builtin. That said, it is straight-forward to make use of the '--no-close' of start-stop-daemon and process substitution of bash: ,---- | start-stop-daemon --start --quiet --user mail --chuid mail --no-close \ | --pidfile $PIDFILE --make-pidfile --background \ | --oknodo --exec "$DAEMON" > >(logger -p mail.notice -t nullmailer) 2>&1 `---- > Benda Xu <hero...@gentoo.org> writes: > > > > # ps ax | grep nullmailer > > 24301 ? S 0:00 /usr/sbin/nullmailer-send -s > > > > # cat /var/run/nullmailer.pid > > 24301 > > > > > > I have also tested by sending an email from shell, and it also works. > > And this message is sent by nullmailer 1:2.1-5. > > > Did you also test by sending mail with network disconnected and making > sure the message is delivered after reconnection? Yes, it works. I have unpluged the network on Jan 12 18:18:56 and pluged it back on 21:00:00. Here is the mail.log by produced syslog: ,---- | Jan 12 18:17:29 cerium nullmailer: Rescanning queue. | Jan 12 18:18:03 cerium nullmailer: Trigger pulled. | Jan 12 18:18:03 cerium nullmailer: Rescanning queue. | Jan 12 18:18:03 cerium nullmailer: Starting delivery, 1 message(s) in queue. | Jan 12 18:18:03 cerium nullmailer: Starting delivery: host: d.g.o protocol: smtp file: 1515748683.5573 | Jan 12 18:18:03 cerium nullmailer: From: <heroxbd@c.e.a.o> to: <heroxbd@g.c> | Jan 12 18:18:03 cerium nullmailer: Message-Id: <1515748683.166936.5572.nullmailer@c.e.a.o> | Jan 12 18:18:07 cerium nullmailer: smtp: Succeeded: 250 2.0.0 Ok: queued as D1D57335C4C | Jan 12 18:18:07 cerium nullmailer: Sent file. | Jan 12 18:18:07 cerium nullmailer: Delivery complete, 0 message(s) remain. | Jan 12 18:18:56 cerium nullmailer: Trigger pulled. | Jan 12 18:18:56 cerium nullmailer: Rescanning queue. | Jan 12 18:18:56 cerium nullmailer: Starting delivery, 1 message(s) in queue. | Jan 12 18:18:56 cerium nullmailer: Starting delivery: host: d.g.o protocol: smtp file: 1515748736.5685 | Jan 12 18:18:56 cerium nullmailer: From: <heroxbd@c.e.a.o> to: <heroxbd@g.c> | Jan 12 18:18:56 cerium nullmailer: Message-Id: <1515748736.925284.5684.nullmailer@c.e.a.o> | Jan 12 18:18:56 cerium nullmailer: smtp: Failed: Connect failed | Jan 12 18:18:56 cerium nullmailer: Sending failed: Temporary error in gethostbyname | Jan 12 18:18:56 cerium nullmailer: Delivery complete, 1 message(s) remain. | Jan 12 18:19:56 cerium nullmailer: Rescanning queue. | Jan 12 18:19:56 cerium nullmailer: Starting delivery, 1 message(s) in queue. | Jan 12 18:19:56 cerium nullmailer: Starting delivery: host: d.g.o protocol: smtp file: 1515748736.5685 | Jan 12 18:19:56 cerium nullmailer: From: <heroxbd@c.e.a.o> to: <heroxbd@g.c> | Jan 12 18:19:56 cerium nullmailer: Message-Id: <1515748736.925284.5684.nullmailer@c.e.a.o> | Jan 12 18:19:57 cerium nullmailer: smtp: Failed: Connect failed | Jan 12 18:19:57 cerium nullmailer: Sending failed: Temporary error in gethostbyname | Jan 12 18:19:57 cerium nullmailer: Delivery complete, 1 message(s) remain. | [...] 5 more "Failed: Connect failed" messages | Jan 12 20:25:57 cerium nullmailer: Rescanning queue. | Jan 12 20:25:57 cerium nullmailer: Starting delivery, 1 message(s) in queue. | Jan 12 20:25:57 cerium nullmailer: Starting delivery: host: d.g.o protocol: smtp file: 1515748736.5685 | Jan 12 20:25:57 cerium nullmailer: From: <heroxbd@c.e.a.o> to: <heroxbd@g.c> | Jan 12 20:25:57 cerium nullmailer: Message-Id: <1515748736.925284.5684.nullmailer@c.e.a.o> | Jan 12 20:25:57 cerium nullmailer: smtp: Failed: Connect failed | Jan 12 20:25:57 cerium nullmailer: Sending failed: Temporary error in gethostbyname | Jan 12 20:25:57 cerium nullmailer: Delivery complete, 1 message(s) remain. | Jan 12 22:33:57 cerium nullmailer: Rescanning queue. | Jan 12 22:33:57 cerium nullmailer: Starting delivery, 1 message(s) in queue. | Jan 12 22:33:57 cerium nullmailer: Starting delivery: host: d.g.o protocol: smtp file: 1515748736.5685 | Jan 12 22:33:57 cerium nullmailer: From: <heroxbd@c.e.a.o> to: <heroxbd@g.c> | Jan 12 22:33:57 cerium nullmailer: Message-Id: <1515748736.925284.5684.nullmailer@c.e.a.o> | Jan 12 22:34:03 cerium nullmailer: smtp: Succeeded: 250 2.0.0 Ok: queued as 9720C335C46 | Jan 12 22:34:03 cerium nullmailer: Sent file. | Jan 12 22:34:03 cerium nullmailer: Delivery complete, 0 message(s) remain. `---- Attached is the patch against /etc/init.d/nullmailer of nullmailer_1.13-1.2. Cheers, Benda
--- nullmailer 2014-08-01 07:20:54.000000000 +0900 +++ /etc/init.d/nullmailer 2018-01-16 11:40:48.866029073 +0900 @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash ### BEGIN INIT INFO # Provides: nullmailer @@ -16,7 +16,6 @@ NAME=nullmailer DESC=mail-transfer-agent PIDFILE=/var/run/$NAME.pid -DAEMON_OPTS=-s test -x $DAEMON || exit 0 @@ -27,16 +26,16 @@ log_begin_msg "Starting $DESC:" "$NAME" # don't kill trigger if daemon already running if ! pidofproc -p $PIDFILE $DAEMON; then - if [ ! -p /var/spool/nullmailer/trigger ]; then - rm -f /var/spool/nullmailer/trigger - mkfifo /var/spool/nullmailer/trigger - fi + if [ ! -p /var/spool/nullmailer/trigger ]; then + rm -f /var/spool/nullmailer/trigger + mkfifo /var/spool/nullmailer/trigger + fi chown mail:root /var/spool/nullmailer/trigger chmod 0622 /var/spool/nullmailer/trigger # --oknodo in case of race condition on daemon start - start-stop-daemon --start --quiet --user mail --chuid mail \ - --pidfile $PIDFILE --make-pidfile --background \ - --oknodo --exec "$DAEMON" -- $DAEMON_OPTS + start-stop-daemon --start --quiet --user mail --chuid mail --no-close \ + --pidfile $PIDFILE --make-pidfile --background \ + --oknodo --exec "$DAEMON" > >(logger -p mail.notice -t nullmailer) 2>&1 log_end_msg $? else log_end_msg $? "$NAME already running: $PIDS"