[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lightweight alternative MTA? [was: Re: Starting MTA:]



On Mon, Sep 21, 2009 at 09:52:59AM -0700, Mike McClain wrote:
> On Mon, Sep 21, 2009 at 01:28:21AM -0700, Steve Lamb wrote:
> <snip> 
> >     Then you need an MTA/MDA and just don't run it in daemon mode.  I fail 
> Earlier in this thread someone suggested editing /etc/default/exim4
> setting QUEUERUNNER='nodaemon'.
> When I tried this and the mail stopped getting delivered until I
> restored /etc/default/exim4.
> What is it I missed?
> This is a mostly Etch P1 system on dialup, if that matters.
> Thanks,
> Mike

Are you talking about delivering to external hosts?

Sure, that what you did unless you run some explicit command, cron script or hook script.

daemon has 2 functionalities:

 (1) listening to port 25 (SMTP) to get connected from external hosts.
 (2) pushing out queued messages to hosts.

You certainly do not need (1) but you still need to do (2) if you wish
to send mail to external host via local mail system like exim or
postfix.  (If you configure MUA to connect to external MTA directly this
is not issue.)

Simple fix is to use queueonly or ppp instead.  (Since you are dialup,
ppp is more suitable to save fee.)

As I think of this for mutt, it may be easier to create shell script
which runs "exim -q" or postfix's equivalent command when mutt
terminates or receive SIGTERM etc.  

If you are using pigeon etc, reconfiguring it to use external
relay host directly is your answer.

Please note that we are talking laptop type use case. 

 * /usr/sbin/sendmail is available and it can work with /etc/aliases.
 * log daemon may send some mail but to local user
 * send messages via smarthost with 
   - the message submission port (587) or 
   - SMTP/SSL port (465)
 * receive messages via ISP using getmail or fetchmail with
   - POP3 (110) or 
   - TLS/POP3 port (995).

Quite likely, you have cron or daemon doing POP3. I use cron to run
getmail every 15 min when IP connection is active.  I could stop exim
and run it from similar script.

FYI: my current getmail script run from user's cron:
----
#!/bin/sh
set -e
# if network is down, do nothing
if ip link show eth0 |fgrep -q "state DOWN" ; then exit 0; fi
#
rcfiles="/usr/bin/getmail"
if [ -f $rcfiles/stop ] ; then exit 0; fi
#
for file in $HOME/.getmail/config/* ; do
  rcfiles="$rcfiles --rcfile $file"
done
exec $rcfiles $@
----
 


Reply to: