[Dovecot] Dovecot Virtual Users with Sendmail

DormitionSkete@hotmail.com dormitionskete at hotmail.com
Wed Jan 2 01:09:44 EET 2013


On Jan 1, 2013, at 3:34 PM, Andrzej A. Filip wrote:

> On 01/01/2013 10:18 PM, DormitionSkete at hotmail.com wrote:
>> Thank you, Andrzej, for helping us.  I really appreciate it.
>> 
>> It no longer rejects the mail that I try to send to the virtual users.  It just tries to send it for eternity.  SquirrelMail says, "Waiting for localhost".  It does not get rejected.  It does not get sent.  It does not leave anything in any log that I can find.  It does not even seem to time out.  I think I waited at least five minutes while it tried to send a message to a virtual user @localhost.
>> 
>> I'm not sure if I did this right.  Below are my sendmail files.  Of course, I rebuilt the .mc -> .cf file, and all of the .db files.
>> 
>> ---
>> 
>> sendmail.mc
>> 
>> 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
>> 
>> FEATURE(`mailertable')
>> 
>> FEATURE(`access_db')
>> FEATURE(`blacklist_recipients')
>> 
>> 
>> MAILER(`local')dnl
>> MAILER(`smtp')dnl
>> 
>> MAILER(`procmail')dnl
>> MAILER(`dovecot')dnl
>> 
>> 
>> LOCAL_CONFIG
>> # declare DOVECOT "magic word"
>> CPDOVECOT
>> 
>> LOCAL_NET_CONFIG
>> R$* < @ $* .$m. > $*	$#esmtp $@ $2.$m $: $1 < @ $2.$m. > $3
>> 
>> 
>> ---
>> 
>> access -- I am wondering if this is the problem?
>> 
>> # Check the /usr/share/doc/sendmail/README.cf file for a description
>> # of the format of this file. (search for access_db in that file)
>> # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
>> # package.
>> #
>> 
>> to:DOVECOT REJECT
>> 
>> # by default we allow relaying from localhost...
>> localhost.localdomain		RELAY
>> localhost			RELAY
>> 127.0.0.1			RELAY
>> dsicons.net			RELAY
>> dormitionskete.net		RELAY
>> holyapostlesconvent.org		RELAY
>> dormitionskete.info		RELAY
>> 174.32.127.90			RELAY
>> 174.32.127.91			RELAY
>> 174.32.127.92			RELAY
>> 174.32.127.93			RELAY
>> 174.32.127.94			RELAY
>> 
>> 
>> ---
>> 
>> aliases
>> 
>> #
>> # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
>> # Use is subject to license terms.
>> #
>> # CDDL HEADER START
>> #
>> # The contents of this file are subject to the terms of the
>> # Common Development and Distribution License, Version 1.0 only
>> # (the "License").  You may not use this file except in compliance
>> # with the License.
>> #
>> # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
>> # or http://www.opensolaris.org/os/licensing.
>> # See the License for the specific language governing permissions
>> # and limitations under the License.
>> #
>> # When distributing Covered Code, include this CDDL HEADER in each
>> # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
>> # If applicable, add the following below this CDDL HEADER, with the
>> # fields enclosed by brackets "[]" replaced with your own identifying
>> # information: Portions Copyright [yyyy] [name of copyright owner]
>> #
>> # CDDL HEADER END
>> #
>> #
>> #ident	"%Z%%M%	%I%	%E% SMI"
>> 
>> ##
>> #  Aliases can have any mix of upper and lower case on the left-hand side,
>> #	but the right-hand side should be proper case (usually lower)
>> #
>> #	>>>>>>>>>>	The program "newaliases" must be run after
>> #	>> NOTE >>	this file is updated for any changes to
>> #	>>>>>>>>>>	show through to sendmail.
>> ##
>> 
>> # The following alias is required by the mail protocol, RFC 2821
>> # Set it to the address of a HUMAN who deals with this system's mail problems.
>> postmaster: root
>> 
>> # Alias for mailer daemon; returned messages from our MAILER-DAEMON
>> # should be routed to our local Postmaster.
>> MAILER-DAEMON: postmaster
>> 
>> # General redirections for pseudo accounts.
>> bin:		root
>> daemon:		root
>> system:		root
>> toor:		root
>> uucp:		root
>> 
>> # Well-known aliases.
>> manager:	root
>> dumper:		root
>> operator:	root
>> 
>> # trap decode to catch security attacks
>> decode:		root
>> 
>> # Aliases to handle mail to programs or files, eg news or vacation
>> nobody: /dev/null
>> 
>> # Sample aliases:
>> 
>> # Alias for distribution list, members specified here:
>> #staff:wnj,mosher,sam,ecc,mckusick,sklower,olson,rwh at ernie
>> 
>> # Alias for distribution list, members specified elsewhere:
>> #keyboards: :include:/usr/jfarrell/keyboards.list
>> 
>> # Alias for a person, so they can receive mail by several names:
>> #epa:eric
>> 
>> #######################
>> # Local aliases below #
>> #######################
>> 
>> dswebstore: dswebstore at DOVECOT
>> hacwebstore: hacwebstore at DOVECOT
>> 
>> 
>> ---
>> 
>> mailertable
>> 
>> DOVECOT dovecot:localhost
>> 
>> ---
>> 
>> virtualusertable -- empty.
>> 
>> ---
>> 
>> 
>> Did I do it right?  Any ideas?
>> 
> As root execute test command below:
> sendmail -d60.5 -d27.2 -bv hacwebstore
> 
> -d60.5 should trace map lookups (including mailertable)
> -d27.2 should trace alias expansion
> 
> Most likely you should among other things fix R= and S= part of dovecot
> mailer to make it strip envelope recipient domain.
> S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
> [ http://wiki.dovecot.org/LDA/Sendmail ]
> 
> 


I ran it without making any changes.  This is the output.

systemuser at openindiana:~/Downloads/Sendmail# sendmail -d60.5 -d27.2 -bv hacwebstore
map_lookup(dequote, systemuser, %0=systemuser) => NOT FOUND (0)
map_lookup(dequote, hacwebstore, %0=hacwebstore) => NOT FOUND (0)
alias(hacwebstore)
aliaswait: sleeping for 2 seconds (loopcount = 1)
aliaswait: sleeping for 4 seconds (loopcount = 2)
aliaswait: sleeping for 8 seconds (loopcount = 3)
aliaswait: sleeping for 16 seconds (loopcount = 4)
aliaswait: sleeping for 32 seconds (loopcount = 5)
aliaswait: sleeping for 60 seconds (loopcount = 6)
^Csystemuser at openindiana:~/Downloads/Sendmail# 


---

Then I made these changes to the sendmail.cf file, and restarted sendmail.

######################*****##############
###   DOVECOT Mailer specification                              ###
##################*****##################
Mdovecot,   P=/usr/local/libexec/dovecot/dovecot-lda, F=DFMPhnu9,
                 S=EnvFromL/HdrFromL, R=EnvToL/HdrFromL,
                 T=DNS/RFC822/X-Unix,
                 A=/usr/local/libexec/dovecot/dovecot-lda -d $u
                 

---

This was the output with the modified sendmail.cf:

systemuser at openindiana:~/Downloads/Sendmail# sendmail -d60.5 -d27.2 -bv hacwebstore
map_lookup(dequote, systemuser, %0=systemuser) => NOT FOUND (0)
map_lookup(dequote, hacwebstore, %0=hacwebstore) => NOT FOUND (0)
alias(hacwebstore)
aliaswait: sleeping for 2 seconds (loopcount = 1)
aliaswait: sleeping for 4 seconds (loopcount = 2)
aliaswait: sleeping for 8 seconds (loopcount = 3)
^Csystemuser at openindiana:~/Downloads/Sendmail# 








More information about the dovecot mailing list