Re: [exim] Daemonless rootless exim for outgoing mail?

Top Page
Delete this message
Reply to this message
Author: Bernd Jendrissek
Date:  
To: Ben Schmidt
CC: exim-users
Subject: Re: [exim] Daemonless rootless exim for outgoing mail?

Ben Schmidt wrote:
> I've never configured or used exim directly, though surely it handles mail of mine
> that passes through some site somewhere!
>
> I am investigating using Exim to assist delivering outgoing mail, though. The mail
> server that is installed on the machine in question has some configuration I'm not
> happy with, but I don't have privileges to change it. I don't want to run a daemon
> or listen for connections at all; I can't need root privileges for installation or
> use. Basically I'd like something that can be called with the sendmail interface,
> that will attempt to deliver the message(s) given to it and then terminate. If it
> fails to deliver the message, I'd need some way of discovering this--perhaps a
> bounce message delivered to an mbox file in my home directory. Or perhaps a
> warning into an mbox file and leave the message queued for manual retry with some
> later command invocation (not automatic, as I don't want to get into daemons or
> cron jobs or such).
>

I just tried using exim as an unpriviledges, non-daemon MTA, and it
seemed to work. (I need this to set up an automated testsuite for an
email transmogrifier.) I have an alternate configuration file that I
ask exim to use with "-C $HOME/blah/exim.conf". It tells exim to listen
on port 8025, but since I never tell exim to start as a daemon (-bd),
I'm not sure if it ever really listens.

With that configuration file, I can still use exim with the
sendmail-esque interface. Might still need to wrap it with a shell
script to inject the "-C blah/exim.conf". Then, to do the actual
delivery, you could run "$HOME/bin/exim -q" every N minutes, from your
crontab.

The important changes to exim.conf seem to be:
--- conf/exim/exim.conf.in      2007-11-16 11:34:53.000000000 +0200
+++ conf/exim/exim.conf.desktop.in      2007-11-16 11:35:07.000000000 +0200
 log_selector = +sender_on_delivery +smtp_confirmation
 message_size_limit = 32M
 preserve_message_logs = false
+exim_user = @userid@
+exim_group = @groupid@
+log_file_path = @localstatedir@/log/exim_%s
+spool_directory = @spooldir@/exim
+daemon_smtp_port = 8025


begin acl


I don't know how you would arrange for failure notification.

HTH