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