dovecot-lda as local mailer and access to manage sive

Chris Kottaridis chriskot at quietwind.net
Fri Jul 22 04:03:23 UTC 2011


On Wed, 2011-07-20 at 20:39 -0500, Chris Adams wrote:
> Dovecot's deliver acts similar to procmail, so I use it with the
> following in my .mc:
> 
> FEATURE(`local_procmail',`/usr/libexec/dovecot/deliver',`deliver -e -d $u -a $u+$h@$j')
> define(`LOCAL_MAILER_FLAGS',LOCAL_MAILER_FLAGS`Ep')
> MAILER(local)

OK that worked. Thanks. I was approaching this completely wrong. I
reread the sendmail README and see the reference to this. Not sure how I
missed it before.

Now that dovecot-lda is delivering mail I changed the mail home
directory by modifying the auth-system.conf.ext file's userdb:

# System users (NSS, /etc/passwd, or similiar). In many systems nowadays
this
# uses Name Service Switch, which is configured in /etc/nsswitch.conf.
userdb {
  # <doc/wiki/AuthDatabase.Passwd.txt>
  driver = passwd
  # [blocking=no]
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n
  #args =
}

I added the args line. I created /var/vmail owned by vmail:vmail and
sent an email and it populated /var/vmail.

Yay!

However, it created a

/var/vmail/chrisk/Maildir

I was expecting

/var/vmail/<domain>/Maildir

where <domain> would be $j from sendmail, which I would have assumed was
my hostname.

From the sendmail README $j should be:

>Normally, the $j macro is automatically defined to be your fully
>qualified domain name (FQDN).  Sendmail does this by getting your
>host name using gethostname and then calling gethostbyname on the
>result.

So, I am a little confused why the directory created
is /var/vmail/chrisk/Maildir rather
then /var/vmail/<hostname>/chrisk/Maildir. Since dovecot-lda gets
-a $u+$h@$j. I would have expected %d to be $j and %n to be $u:

From 10-mail.conf
# There are a few special variables you can use, eg.:
#
#   %u - username
#   %n - user part in user at domain, same as %u if there's no domain
#   %d - domain part in user at domain, empty if there's no domain
#   %h - home directory

Does that mena that sendmail is not passing $j ?

Truth be told what I'd like the %d to be the domain name portion that
the email was sent to. So, if this host is a mailhost for multiple
domains I could have users in different domains with the same username.

But I am not sure what sendmail variable that would be rather then $j.
But, since $j seems to be ignored or not getting initialized, it makes
me wonder if I can do what I'd like to do.

Anyway, thanks this has gotten me past my initial hurdle and I am
functional for what I currently need to do.

Thanks
Chris Kottaridis
> 
> Although I have sieve and managesieve enabled, I haven't actually done
> anything with it.  If you install Horde+IMP+Ingo, you can configure Ingo
> to use sieve (again, I haven't tried it myself).  I think there's also a
> Thunderbird add-on for managesieve.
> 
> -- 
> Chris Adams <cmadams at hiwaay.net>
> Systems and Network Administrator - HiWAAY Internet Services
> I don't speak for anybody but myself - that's enough trouble.



More information about the users mailing list