Hello,
I'm the one that's having trouble getting exim to
deliver to maildirs. Sorry for not giving enough
details the first time.
Exim mainlog extract:
== nate@??? T=maildir_delivery defer (13):
Permission denied: cannot create
/var/mail/mylinuxbox.com//tmp
<= <> R=15nTIg-0000D1-00 U=mail P=local S=617
Frozen
Here's my current exim.conf starting with the
transports section. I'm wondering if there's a
missing "recipient" variable in the directory line,
but I don't know what the syntax would be. There are
probably a few other problems with this file as well.
Thanks for being willing to help me.
Nathan
#######################################################
###############
# TRANSPORTS
CONFIGURATION #
#######################################################
###############
# ORDER DOES NOT
MATTER #
# Only one appropriate transport is called for
each delivery. #
#######################################################
###############
maildir_delivery:
driver = appendfile
no_from_hack
prefix = ""
suffix = ""
maildir_format
directory = /var/mail/mylinuxbox.org/
create_directory
# This transport is used for local delivery to user
mailboxes. On debian
# systems group mail is used so we can write to the
/var/spool/mail
# directory. (The alternative, which most other unixes
use, is to deliver
# as the user's own group, into a sticky-bitted directory)
local_delivery:
driver = appendfile
group = mail
mode = 0660
mode_fail_narrower = false
envelope_to_add = true
file = /var/spool/mail/${local_part}
# This transport is used for handling pipe addresses
generated by
# alias or .forward files. If the pipe generates any
standard output,
# it is returned to the sender of the message as a
delivery error. Set
# return_fail_output instead if you want this to
happen only when the
# pipe fails to complete normally.
address_pipe:
driver = pipe
return_output
# This transport is used for handling file addresses
generated by alias
# or .forward files.
address_file:
driver = appendfile
# This transport is used for handling file addresses
generated by alias
# or .forward files if the path ends in "/", which
causes it to be treated
# as a directory name rather than a file name. Each
message is then delivered
# to a unique file in the directory. If instead you
want all such deliveries to
# be in the "maildir" format that is used by some
other mail software,
# uncomment the final option below. If this is done,
the directory specified
# in the .forward or alias file is the base maildir
directory.
#
# Should you want to be able to specify either maildir
or non-maildir
# directory-style deliveries, then you must set up yet
another transport,
# called address_directory2. This is used if the path
ends in "//" so should
# be the one used for maildir, as the double slash
suggests another level
# of directory. In the absence of address_directory2,
paths ending in //
# are passed to address_directory.
address_directory:
driver = appendfile
no_from_hack
prefix = ""
suffix = ""
# maildir_format
# This transport is used for handling autoreplies
generated by the filtering
# option of the forwardfile director.
address_reply:
driver = autoreply
# This transport is used for procmail
procmail_pipe:
driver = pipe
command = "/usr/bin/procmail -d ${local_part}"
return_path_add
delivery_date_add
envelope_to_add
check_string = "From "
escape_string = ">From "
user = $local_part
group = mail
# This transport is used for delivering messages over
SMTP connections.
remote_smtp:
driver = smtp
end
#######################################################
###############
# DIRECTORS
CONFIGURATION #
# Specifies how local addresses are
handled #
#######################################################
###############
# ORDER DOES
MATTER #
# A local address is passed to each in turn until it
is accepted. #
#######################################################
###############
# This allows local delivery to be forced, avoiding
alias files and
# forwarding.
real_local:
prefix = real-
driver = localuser
transport = maildir_delivery
# transport = local_delivery
# This director handles aliasing using a traditional
/etc/aliases file.
# If any of your aliases expand to pipes or files, you
will need to set
# up a user and a group for these deliveries to run
under. You can do
# this by uncommenting the "user" option below
(changing the user name
# as appropriate) and adding a "group" option if necessary.
system_aliases:
driver = aliasfile
file_transport = address_file
pipe_transport = address_pipe
file = /etc/aliases
search_type = lsearch
# user = list
# Uncomment the above line if you are running smartlist
# This director runs procmail for users who have a
.procmailrc file
procmail:
driver = localuser
transport = procmail_pipe
require_files =
${local_part}:+${home}:+${home}/.procmailrc:+/usr/bin/p
rocmail
no_verify
# This director handles forwarding using traditional
.forward files.
# It also allows mail filtering when a forward file
starts with the
# string "# Exim filter": to disable filtering,
uncomment the "filter"
# option. The check_ancestor option means that if the
forward file
# generates an address that is an ancestor of the
current one, the
# current one gets passed on instead. This covers the
case where A is
# aliased to B and B has a .forward file pointing to A.
# For standard debian setup of one group per user, it
is acceptable---normal
# even---for .forward to be group writable. If you
have everyone in one
# group, you should comment out the "modemask" line.
Without it, the exim
# default of 022 will apply, which is probably what
you want.
userforward:
driver = forwardfile
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
no_verify
check_ancestor
file = .forward
modemask = 002
filter
# This director matches local user mailboxes.
localuser:
driver = localuser
transport = maildir_delivery
# transport = local_delivery
end
#######################################################
###############
# ROUTERS
CONFIGURATION #
# Specifies how remote addresses are
handled #
#######################################################
###############
# ORDER DOES
MATTER #
# A remote address is passed to each in turn until it
is accepted. #
#######################################################
###############
# Remote addresses are those with a domain that does
not match any item
# in the "local_domains" setting above.
# This router routes to remote hosts over SMTP using a
DNS lookup with
# default options.
lookuphost:
driver = lookuphost
transport = remote_smtp
# This router routes to remote hosts over SMTP by
explicit IP address,
# given as a "domain literal" in the form
[nnn.nnn.nnn.nnn]. The RFCs
# require this facility, which is why it is enabled by
default in Exim.
# If you want to lock it out, set
forbid_domain_literals in the main
# configuration section above.
literal:
driver = ipliteral
transport = remote_smtp
end
#######################################################
###############
# RETRY
CONFIGURATION #
#######################################################
###############
# This single retry rule applies to all domains and
all errors. It specifies
# retries every 15 minutes for 2 hours, then
increasing retry intervals,
# starting at 2 hours and increasing each time by a
factor of 1.5, up to 16
# hours, then retries every 8 hours until 4 days have
passed since the first
# failed delivery.
# Domain Error Retries
# ------ ----- -------
* * F,2h,15m;
G,16h,2h,1.5; F,4d,8h
end
#######################################################
###############
# REWRITE
CONFIGURATION #
#######################################################
###############
# There are no rewriting specifications in this
default configuration file.
# This rewriting rule is particularly useful for
dialup users who
# don't have their own domain, but could be useful for
anyone.
# It looks up the real address of all local users in a file
*@mylinuxbox.org
${lookup{$1}lsearch{/etc/email-addresses}\
{$valu
{$value}fail} bcfrF
# End of Exim configuration file
At 02:03 AM 10/1/01 +0100, you wrote:
>On Sun, Sep 30, 2001 at 06:06:24PM -0600, Nathan wrote:
> > Hello,
> >
> > I've got Exim relaying messages from localhost, and
> > from Eudora (on my Win98box). However, it isn't
> > receiving mail properly. Eventually I'll be using
> > maildirs, but right now I don't care. I just want the
> > mail to get delivered somewhere. Here's an excerpt
> > from the Exim mainlog:
> >
> > == nate@??? T=maildir_delivery defer (13):
> > Permission denied: cannot create
> > /var/mail/mylinuxbox.com//tmp
> > <= <> R=15nTIg-0000D1-00 U=mail P=local S=617
> > Frozen
> >
> > It seems like /var/mail/mylinuxbox.com//tmp should be
> > something more along the lines of
> > /var/mail/mylinuxbox.com/nate/tmp
>
>Can you show us the contents of your maildir_delivery
>transport?
>
>If we see that we should be able to help.
>
>Ollie
>
>--
>Oliver Cook Systems Administrator, ClaraNET
>ollie@??? 020 7903 3065
>
>--
>## List details at
>http://www.exim.org/mailman/listinfo/exim-users Exim
>details at http://www.exim.org/ ##