hi  steffen

- thanx for your reply

sendmail-8.15.1 + dovecot-2.2.15 + OpenSSL is working ..

my sendmail is also configured for smtp-auth and saslauth
and seems to work with dovecot

one other thing to note, sendmail requires CA signed *.pem certs
vs self-signed ... in my case, dovecot uses the same *.pem certs

        http://www.sendmail.org/~ca/email/other/cagreg.html


# # ================
# # testing dovecot to fetch the emails
# # ================
#
# dovecot.user is only defined in /etc/dovecot/passwd
#
# echo "test mail" | mail -v dovecot.u...@vmail.example.com
# echo "test mutt" | mutt -s mutt dovecot.u...@vmail.example.com
#
# echo "sendmail" | sendmail -d60.5 -d27.2 -bv dovecot.u...@vmail.example.com
#
# telnet vmail.example.com 110
# openssl s_client -connect vmail.example.com:995   # pop3s
#   user dovecot.user
#   pass passwd
#   list
#   retr 1
#   quit
#
# telnet vmail.example.com 143
# openssl s_client -connect vmail.example.com:993   # imaps
#   a1 login dovecot.user passwd
#   a2 LIST "" "*"
#   a3 select INBOX
#   a4 FETCH 1 BODY[]
#   a5 logout
#
# # replace gmail.com with your ssl-enabled dovecot server
# openssl s_client -connect  pop.gmail.com:995 -showcerts
# openssl s_client -connect imap.gmail.com:993 -showcerts
#
# # replace gmail.com with your SASL enabled STMPT server
# openssl s_client -connect smtp.gmail.com:587 -starttls smtp
#

> On Sun, 18 Jan 2015, alvin wrote:
> >
> > ------------------------------------------------------------------------------
> > - status of what works and what does NOT work while testing dovecot's LDA 
> > ...
> > ------------------------------------------------------------------------------
> >     #
> >     # fyi.. recepient user is in the form of user, user@localhost and 
> > u...@domain.com
> >     #
> >     sendmail -bv user.in/etc/passwd                 = deliverable
> >     sendmail -bv user.in/etc/mail/virtusertable     = deliverable to 
> > sendmail virtual user
> >
> > -->>        sendmail -bv dovecot.user.in/dovecot/virtual.passwd.file        
> > == user unknown
> 
> 1) is the virtual domain a local name?
> http://compgroups.net/comp.mail.sendmail/sendmail-dovecot-mailertable-and-passwd-li/1316451
> http://www.dovecot.org/list/dovecot/2010-June/049500.html

it turns out, the hostname must NOT be listed in /etc/mail/local-host-names
and that it still must resolve ( /etc/hosts )

> 2) your mailer is named "dovecot", therefore the mailertable entry in the 
> Wiki:
> 
> virtualdomain.example.com vmail:vmail

and again, virtualdomain -- should NOT be listed in  /etc/mail/local-host-names

- when i removed it from local-host-names, things started be more debuggable 
and fixed

yup

> virtualdomain.example.com dovecot:dovecot
> (2nd dovecot has no meaning, but there must be present something)

yup

> 3) Post a sensable output:
> echo '3,0 dovecotuser@dovecot.domain' | sendmail -bt -d21.4

it's working ... other sendmail tests ...

# sendmail -d60.5 -d27.2 -bv dovecot.user
#       dovecot.user... User unknown
#
# sendmail -d60.5 -d27.2 -bv dovecot.user@fake
#       dovecot.yser@fake... deliverable: mailer esmtp, host fake, user 
dovecot.plain@fake
#
# sendmail -d60.5 -d27.2 -bv dovecot.user
#       #  -d60.5 should trace map lookups (including mailertable)
#       #  -d27.2 should trace alias expansion
#
# echo '3,0 dovecot.user@localhost ' | sendmail -bt -d21.12 -d60.5
#       #  -d60.5 tracking maps (virtusertable) lookups
#       #  -d21.12 tracking processing of R lines in sendmail.cf
#
# sendmail -d27.2 -bv dovecot.user
#       #  -d27.2 tracking processing of aliases
#
# sendmail -Am -bv dovecot.user@vmail < /dev/null
# echo '3,0 dovecot.u...@vmail.example.com' | sendmail -Am -bv 
dovecot.u...@vmail.example.com
#       dovecot.u...@vmail.example.com.. deliverable: mailer dovecot, host 
vmail, user dovecot.u...@vmail.example.com

> 4) there had been a post about trying to improve virtual user support in 
> sendmail incl. some ongoing talk. Maybe you find it and get some info back 
> into this list.

few posts showed another sendmail file that needs to be configured

/etc/mail/access
        # vmail must be defined in /etc/hosts ... NOT listed in local-host-named
        To: vmail.example.com       RELAY

> >     dovecot user dovecot.user       == returns UID/GID/home/mailbox ( 
> > deliverable )

these are good tests to show dovecot is able to deliver its emails

in my case,  dovecot resolves users in /etc/passwd, /etc/mail/virtusertable, 
/etc/dovecot/password
        and hopefully, it will also resolve /usr/local/mysql database users

> >     # --------------------------------------------------------------------
> >     # dovecot's LDA delivers the test email to the dovecot/mysql recepient
> >     # --------------------------------------------------------------------
> >     cat test-email-with-headers.txt | dovecot-lda -d dovecot.user   ( email 
> > delivered )

these are good tests to show dovecot is able to deliver its emails

> >     # ----------------------------------------------------------------
> > -->>        # mail/mutt/sendmail canNOT deliver to dovecot recepient == 
> > FAILS
> >     # ----------------------------------------------------------------
> > -->>        sendmail -bv dovecot.user.in/dovecot/virtual.passwd.file        
> > == user unknown
> >     3
> >     echo "testing mail to dovecot" | mail -v -s "testing mail to dovecot" 
> > doveccot.user
> >             == user unknown ==

"user unknown" comes from misconfigured since sendmail is still confused
        - /etc/mail/mailertable
        - /etc/mail/local-host-names
        - /etc/mail/access

my final sendmail config .... only import stuff shown ..

> > -------------------------------------------------------
> > - my (relevant to dovecot ) sendmail.mc file looks like:
> > -------------------------------------------------------
> >
> >     dnl #
> >     dnl # local mail delivery
> >     dnl #
> >     define(`PROCMAIL_MAILER_PATH', `/usr/local/bin/procmail')dnl
> >
> >     FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl

REMOVE define/feature to do with procmail
-----------------------------------------

> >     dnl #
> >     dnl # I'm trying to get sendmail to use dovecot.m4 to deliver local mail
> >     dnl # to dovecot's LDA ( dovecot-lda ) for mysql virtual users
> >     dnl #
> >     dnl uncomment and use either feature(...dovecot-lda) or 
> > mailer(dovecot.m4)
> >     dnl
> >     dnl FEATURE(`local_procmail', 
> > `/usr/local/libexec/dovecot/dovecot-lda',`/usr/local/libexec/dovecot/dovecot-lda
> >  -d $u')

use Mailer(dovecot) instead .... Feature and Mailer is mutually exclusive in 
this case

> >     MAILER(local)
> >     MAILER(smtp)
> >     dnl
> >     dnl # trying to use procmail to deliver local mail to system users ( 
> > /etc/passwd )
> >     MAILER(procmail)
> >     dnl
> >     dnl
> >     MAILER(dovecot)dnl      # see below
> >     dnl
> >     dnl End of File
> >
> > -------------------------------------------------------
> > - my (relevant to dovecot ) sendmail.cf file looks like:
> > -------------------------------------------------------

take out procmail stuff 

> > #####################################
> > ###   SMTP Mailer specification   ###
> > #####################################
> >
> >     #
> >     # lots of deleted ... ??not?? important until procmail stuff ---> 
> > MAILER(procmail)
> >     #
> >
> > ######################*****##############
> > ###   PROCMAIL Mailer specification   ###
> > ##################*****##################
> > #####  $Id: procmail.m4,v 8.23 2013-11-22 20:51:14 ca Exp $  #####
> >
> > Mprocmail,      P=/usr/local/bin/procmail, F=DFMSPhnu9, 
> > S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFr
> > omSMTP,
> >                T=DNS/RFC822/X-Unix,
> >                A=procmail -Y -m $h $f $u
> >
> > ######################*****#########################
> > ###                                              ###
> > ###  10-Jan-15 amo Dovecot.m4                    ###
> > ###                                              ###
> > ###  dovecot.m4 stuff                            ###
> > ###                                              ###
> > ##############################*****#################
> > Mdovecot, P=/usr/local/libexec/dovecot/dovecot-lda, F=DFMPhnu9,
> >          S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
> >          T=DNS/RFC822/X-Unix,
> >          A=/usr/local/libexec/dovecot/dovecot-lda -d $u

note i'm using "S=EnvFromL/HdrFromL" NOT "S=EnvFromSMTP/HdrFromSMTP"
and similarly for R=

> > #
> > # End of sendmail.cf

> >    http://wiki2.dovecot.org/LDA/Sendmail
> >
> >    #########################################
> >    ###   DOVECOT Mailer specification    ###
> >    #########################################
> >    Mdovecot,   P=/usr/local/libexec/dovecot/dovecot-lda, F=DFMPhnu9,
> >     S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFromSMTP,

should wiki2.dovecot.org be updated to show

        S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,

> >     T=DNS/RFC822/X-Unix,
> >     A=/usr/local/libexec/dovecot/dovecot-lda -d $u

for debugging purproses .... it is very helpful to use a wrapper script ( 
wraplda.sh )
around dovecot-lda to get UID/GID info of who is calling dovecot-lda

http://dovecot.org/pipermail/dovecot/2013-January/087658.html

> >    http://wiki2.dovecot.org/LDA/Sendmail
> >    also states that one could use these 3 statements in lieu of dovecot.m4
> >
> >     #
> >     # this replaces sendmail.cf Mlocal P=mail.local with P=dovecot-lda
> >     #
> >     FEATURE(`local_procmail', `/usr/local/libexec/dovecot/dovecot-lda',  \
> >             `/usr/local/libexec/dovecot/dovecot-lda -d $u')
> >     dnl MODIFY_MAILER_FLAGS(`LOCAL', `-f')
> >     MAILER(procmail)

didn't work for me

> > ------------------------------------
> > - my relevant dovecot config options
> > ------------------------------------
> >     #
> >     # are there any other major options i'm missing in the dovecot config 
> > files
> >     #
> >    doveconf
> >    dovecot -a
> >     #
> >     # for /etc/passwd
> >     passdb {
> >       args =
> >       driver = pam
> >       ..
> >     }
> >     #
> >     # 
> > ------------------------------------------------------------------------
> >     # need to get these dovecot's virtual users to be able send/receive 
> > emails
> >     # 
> > ------------------------------------------------------------------------
> >     #       sendmail -bv dovecot.VirtualUser@localhost
> >     #               dovecot.VirtuaUser@localhost... User unknown
> >     #
> >     passdb {
> >       args = /etc/dovecot/passwd
> >             #
> >             # dovecot.VirtualUser:{PLAIN}password:::::
> >             #
> >             # end of file
> >       driver = passwd-file
> >       ..
> >     }
> >     #
> >     passdb {
> >       args = /etc/dovecot/dovecot-sql.conf.ext
> >       driver = sql
> >       ..
> >     }
> >     ...
> >     ...
> >     ...
> >     userdb {
> >       args =
> >       driver = passwd
> >       ..
> >     }
> >     #
> >     userdb {
> >       args = /etc/dovecot/password
> >       driver = passwd-file
> >       ..
> >     }
> >     #
> >     userdb {
> >       args = /etc/dovecot/dovecot-sql.conf.ext
> >       driver = sql
> >       ..
> >     }
.....
> > # end of txt
> >
> 
> - -- 
> Steffen Kaiser

Reply via email to