Dovecot has no problem with virtual users, but Sendmail's idea of virtual users is not quite as 'virtual'.
One possible solution: http://www.cs.fsu.edu/~langley/USVH-tr.pdf That was 2007.. so perhaps somebody has written this up in a more concise way.. or you can wrestle with ldap. :-( or switch MTAs. Ken A. On 12/30/2012 9:19 PM, dormitionsk...@hotmail.com wrote: > I'm trying to get Dovecot working with Virtual Users and Sendmail on > OpenIndiana 151a7. OpenIndiana is the Open Source continuation of > OpenSolaris after Oracle tried to kill it off a couple of years ago shortly > after acquiring Sun Microsystems. > > I'm not sure if this is so much a Dovecot problem, as much of a Sendmail > problem. I thought this would probably be a better list to start with, > though. If not, please let me know. > > I initially used this Dovecot wiki page to approach this: > Simple Virtual User Installation > > http://wiki2.dovecot.org/HowTo/SimpleVirtualInstall > > I had to make few minor changes, but I don't think anything significant to > the problem I'm having. > > I can log into SquirrelMail with both virtual users, and with system users. > > I can send mail to system users from both virtual and system users. > > I can see the mail that I sent in the Sent Messages folder for both types of > users. > > I just can't send mail to virtual users. When I try to, I get the following > message: > > ERROR: > Message not sent. Server replied: > Requested action not taken: mailbox unavailable > 550 5.1.1 <dswebstore@localhost>... User unknown > My configuration info is as follows: > > systemuser@openindiana:~# /usr/local/sbin/dovecot --version > 2.1.12 > > systemuser@openindiana:~# /usr/local/sbin/dovecot -n > # 2.1.12: /usr/local/etc/dovecot/dovecot.conf > # OS: SunOS 5.11 i86pc > auth_verbose = yes > base_dir = /var/run/dovecot/ > disable_plaintext_auth = no > first_valid_uid = 101 > info_log_path = /var/log/dovecot-info.log > log_path = /var/log/dovecot.log > mail_location = mbox:/home/vmail/%u/mail:INBOX=/var/mail/%u > passdb { > args = /usr/local/etc/dovecot/passwd > driver = passwd-file > } > pop3_uidl_format = %g > protocols = imap pop3 > service auth { > unix_listener auth-userdb { > group = vmail > mode = 0600 > user = vmail > } > } > ssl = no > userdb { > args = uid=vmail gid=vmail home=/home/vmail/%u > driver = static > } > protocol lda { > postmaster_address = systemuser@localhost > } > > --- > > My dovecot password file looks something like this, though changed for > obvious security reasons: > > systemuser:{PLAIN} systemuserPASS > virtualuser1:{PLAIN}virtualuser1PASS > virtualuser2:{PLAIN}virtualuser2PASS > > > --- > > I read on this page that I needed to put the following in my sendmail > dovecot.m4 file: > > Dovecot LDA with Sendmail > http://wiki2.dovecot.org/LDA/Sendmail > > So this is my dovecot.m4 file, which shows up in my sendmail.cf file after > recompiling my sendmail.mc file. > > ######################*****############## > ### DOVECOT Mailer specification ### > ##################*****################## > Mdovecot, P=/usr/local/libexec/dovecot/dovecot-lda, F=DFMPhnu9, > S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFromSMTP, > T=DNS/RFC822/X-Unix, > A=/usr/local/libexec/dovecot/dovecot-lda -d $u > > > --- > > Finally, this is my sendmail.mc file: > > divert(-1) > # > # Copyright (c) 1983 Eric P. Allman > # Copyright (c) 1988, 1993 > # The Regents of the University of California. All rights reserved. > # > # Copyright 2009 Sun Microsystems, Inc. All rights reserved. > # Use is subject to license terms. > # > # This is a configuration file for SunOS 5.8 (a.k.a. Solaris 8) and later > # subsidiary machines. It has support for local and SMTP mail. The > # confFALLBACK_SMARTHOST macro is enabled, which means that messages will > # be sent to that host (which is set to mailhost.$m [$m is the local domain]) > # if MX records are unavailable. A short-cut rule is also defined, which > # says if the recipient host is in the local domain, send to it directly > # instead of the smart host. > # > # If you want to customize this further, copy it to a name appropriate > # for your environment and do the modifications there. > # > > divert(0)dnl > VERSIONID(`sendmail.mc (Sun)') > OSTYPE(`solaris8')dnl > DOMAIN(`solaris-generic')dnl > define(`confFALLBACK_SMARTHOST', `mailhost$?m.$m$.')dnl > > define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl > FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl > > MAILER(`local')dnl > MAILER(`smtp')dnl > > MAILER(`procmail')dnl > MAILER(`dovecot')dnl > > > LOCAL_NET_CONFIG > R$* < @ $* .$m. > $* $#esmtp $@ $2.$m $: $1 < @ $2.$m. > $3 > > > --- > > I think it is obvious that it is a problem with Sendmail not recognizing > Dovecot's virtual users. But how do I fix it? > > If anyone could help me with this, I would *greatly* appreciate it. I've > been picking away at this for about three weeks now, and I'm pretty much out > of ideas of anything else to try. > > Cordially, > > Peter, hieromonk > > ---- > Dormition Skete > Monastery Website: http://www.DormitionSkete.org > Convent Website: http://www.HolyApostlesConvent.org > ---- > > > > > > > > > > > -- Ken Anderson Pacific Internet - http://www.pacific.net Latest Pacific.Net Status - http://twitter.com/pacnetstatus