Re: sendmail not invoking dovecot-lda

2015-01-27 Thread alvin

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

  # 
  --   

Re: sendmail not invoking dovecot-lda

2015-01-26 Thread Steffen Kaiser

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Sun, 18 Jan 2015, alvin wrote:


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

Take note of the remark reject unknown users early.

2) your mailer is named dovecot, therefore the mailertable entry in the 
Wiki:


virtualdomain.example.com vmail:vmail

should spell, IMHO:

virtualdomain.example.com dovecot:dovecot

(2nd dovecot has no meaning, but there must be present something)

3) Post a sensable output:

echo '3,0 dovecotuser@dovecot.domain' | sendmail -bt -d21.4

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.




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,