Marcin Krol wrote:
> Hello Everyone,
>
> I configured the ACL, router and transport similar to what Ted posted (thanks again) and it works, with transport in particular set up as follows:
>
> virtual_spamtrap:
> driver = appendfile
> create_directory
> directory = /home/spamtrap/imap/${domain}/${local_part}/Maildir
> delivery_date_add
> directory_mode = 770
> envelope_to_add
> maildir_format
> mode = 660
> return_path_add
> user = mail
> group = mail
>
> However, while Exim creates imap/${domain}/${local_part}/Maildir/[new/cur] subdirectory fine, it fails with "temporary local problem" if directory /home/spamtrap is nonexistent.
>
> Since I'm a lazy bastard (and partially out of curiosity), I would like to know if there's a way to make Exim create that directory too, if it doesn't exist. Anybody?
Exim does a suid to the user provided in the transport - if that user
doesn't have write access to the root and home directories, it will be
unable to create the directory tree. A simple matter of permissions.
It's considered "A Bad Thing" to use the root user to deliver mail to
get around this btw - I think exim is hard coded not to do it anyway.
You're always better off to setup the /home/spamtrap directory anyway to
ensure it has the right permissions for whatever else you're doing with it.
--
The Exim Manual
http://www.exim.org/docs.html
http://www.exim.org/exim-html-current/doc/html/spec_html/index.html