[Dovecot] Dovecot Virtual Users with Sendmail

DormitionSkete@hotmail.com dormitionskete at hotmail.com
Mon Dec 31 05:19:31 EET 2012


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 at localhost>... User unknown
My configuration info is as follows:

systemuser at openindiana:~# /usr/local/sbin/dovecot --version
2.1.12

systemuser at 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 at 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
---- 












More information about the dovecot mailing list