hi dovecot mailinglist
- Configuration FreeBSD-9.3 sendmail -d0.1 == sendmail-8.14.9 <<-- dovecot --version == dovecot-2.2.15
===================================================================
# I'm trying to get sendmail to invoke dovecot.m4 ( dovecot-lda ) to # deliver emails to dovecot's virtual users ( /etc/dovecot/passwd ) # or mysql/postgresql virtual users # # # sendmail -bv dovecot.VirtualUser@localhost --> returns "User Unknown" # # cat test.msg.txt | dovecot-lda -d dovecot.VirtualUser ===> works # email is delivered to dovecot.VirtualUser inbox # # ===================================================================
- there are tons of howto and comments for dovecot + postfix and very little for dovecot + sendmail ... therefore, it'd be great if we/i can get this dovecot.m4 problem resolved
- 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 user@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
dovecot user user.in/etc/passwd == returns UID/GID/home/mailbox ( deliverable )
dovecot user dovecot.user == returns UID/GID/home/mailbox ( deliverable )
# --------------------------------------------------------------------
# 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 )
# ----------------------------------------------------------------
-->> # 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 ==
- 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
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')
dnl
MAILER(local)
MAILER(smtp)
dnl
dnl MAILER(dovecot)dnl # did NOT work either
dnl
dnl # trying to use procmail to deliver local mail to system users ( /etc/passwd )
MAILER(procmail)
dnl
dnl # is the ordering of dovecot.m4 important relative to (local) and (procmail)
dnl
dnl # trying to use dovecot-lda to deliver email to dovecot's virtual users
dnl # defined in /etc/dovecot/password
dnl
MAILER(dovecot)dnl # see below
dnl
dnl End of File
- my (relevant to dovecot ) sendmail.cf file looks like:
#
# lots of deleted ... ??not?? important until Mlocal ---> MAILER(local)
#
Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qPSXmnz9, S=EnvFromSMTP/HdrFromL, R=EnvToL/ HdrToL, T=DNS/RFC822/SMTP, A=mail.local -l Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/, T=X-Unix/X-Unix/X-Unix, A=sh -c $u
##################################### ### 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 # # End of sendmail.cf
=====================================================================
dovecot has an example dovecot.m4 ... but it doesn't allow sendmail to call dovecot to deliver local mail with dovecot-lda
http://wiki2.dovecot.org/LDA/Sendmail
######################################### ### DOVECOT Mailer specification ### ######################################### # # # dovecot virtual users defined in: /etc/dovecot/password # # # # cp /etc/mail/dovecot.m4 /usr/share/sendmail/cf/mailer # # # # cd /etc/mail && make # # /etc/rc.d/sendmail restart # # # # the dovecot.m4 stanza are in the resulting sendmail.cf # # # ######################################### 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 # # i've tried using these other options in lieu of the above : # # F=DFMPShnu9 # added "S" option # F=lsDFMAw5:/|@qSPfhn9, # # S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, # # # # tried adding U= between S= and T= lines # U=root:mail U=dovecot:mail U=dovenull:mail # # End of dovecot.m4
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)vi /etc/mail/mailertable # # cd /etc/mail && make && /etc/rc.d/sendmail restart # # make and restart sendmail after editing # virtualdomain.example.com vmail:vmail
# other options where sendmail still wasn't able to execute dovecot-lda # virtualdomain.example.com dovecot:local # virtualdomain.example.com local:mail # virtualdomain.example.com root:mail
- 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
..
}
# # --------------------------------------------------------------------- # -- How do i get sendmail to execute dovecot-lda for incoming emails # -- directed to dovecot virtual users and/or mysql users ?? # --------------------------------------------------------------------- # # end of txt