sendmail and cyrus-imap - delivery problem

Mario Pavlov freebsd at abv.bg
Sun Mar 22 12:37:32 EDT 2009


Hi,
thanks for the response.

I did what you suggested
I defined new mailer like this:

# cat /usr/share/sendmail/cf/mailer/cyrusv2vd.m4
PUSHDIVERT(-1)
#
# Copyright (c) 2002 Sendmail, Inc. and its suppliers.
#       All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#       Contributed by Kenneth Murchison.
#

_DEFIFNOT(`_DEF_CYRUSV2_MAILER_FLAGS', `lsDFMnqXz')
_DEFIFNOT(`CYRUSV2_MAILER_FLAGS', `A@/:|m')
ifdef(`CYRUSV2_MAILER_ARGS',, `define(`CYRUSV2_MAILER_ARGS', `FILE /var/imap/socket/lmtp')')
define(`_CYRUSV2_QGRP', `ifelse(defn(`CYRUSV2_MAILER_QGRP'),`',`', ` Q=CYRUSV2_MAILER_QGRP,')')dnl

POPDIVERT

#########################################
###   Cyrus V2 Mailer specification   ###
#########################################

VERSIONID(`$Id: cyrusv2vd.m4,v 1.1 2002/06/01 21:14:57 ca Exp $')

Mcyrusv2vd,     P=[IPC], F=_MODMF_(CONCAT(_DEF_CYRUSV2_MAILER_FLAGS, CYRUSV2_MAILER_FLAGS), `CYRUSV2'),
                S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP, E=\r\n,
                _OPTINS(`CYRUSV2_MAILER_MAXMSGS', `m=', `, ')_OPTINS(`CYRUSV2_MAILER_MAXRCPTS', `r=', `, ')_OPTINS(`CYRUSV2_MAILER_CHARSET', `C=', `, ')T=DNS/RFC822/SMTP,_CYRUSV2_QGRP
                A=CYRUSV2_MAILER_ARGS


which is of course copy of cyrusv2.m4 with the modifications you suggested
and in my yo.com.mc file I just replaced all occurances of cyrusv2 with cyrusv2vd
then I rebuilt sendmail.cf and restarted sendmail
it seemed to accept the new mailer
however the result is exactly the same

Mar 22 16:28:22 yo sm-mta[97935]: n2MGSLe6097935: from=<whoever at gmail.com>, size=1575, class=0, nrcpts=1, msgid=<9cddded00903220928i7a2a8fcfkc2fd206491021847 at mail.gmail.com>, proto=ESMTP, daemon=IPv4, relay=mail-fx0-f163.google.com [209.85.220.163]
Mar 22 16:28:22 yo sm-mta[97937]: n2MGSLe6097935: to=<boo at yo.com>, delay=00:00:00, xdelay=00:00:00, mailer=cyrusv2vd, pri=31575, relay=localhost, dsn=5.1.1, stat=User unknown
Mar 22 16:28:22 yo sm-mta[97937]: n2MGSLe6097935: n2MGSMe6097937: DSN: User unknown

I tried this:
# ( echo subject: test ; echo testmsg ) | sendmail -v -Am boo at yo.com
pesho at e-soul.org... Connecting to /var/imap/socket/lmtp via cyrusv2vd...
220 e-soul.org Cyrus LMTP v2.3.13 server ready
>>> LHLO yo.com
250-yo.com
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-SIZE
250-AUTH EXTERNAL
250 IGNOREQUOTA
>>> MAIL From:<moo at yo.com> SIZE=22 AUTH=moo at yo.com
250 2.1.0 ok
>>> RCPT To:<boo at yoo.com>
>>> DATA
550-Mailbox unknown.  Either there is no mailbox associated with this
550-name or you do not have authorization to see it.
550 5.1.1 User unknown
503 5.5.1 No recipients
>>> RSET
250 2.0.0 ok
>>> RSET
250 2.0.0 ok
mgp... Using cached LMTP connection to localhost via cyrusv2vd...
>>> MAIL From:<> SIZE=1046
250 2.1.0 ok
>>> RCPT To:<mgp at e-soul.org>
>>> DATA
550-Mailbox unknown.  Either there is no mailbox associated with this
550-name or you do not have authorization to see it.
550 5.1.1 User unknown
503 5.5.1 No recipients
>>> RSET
250 2.0.0 ok
>>> RSET
250 2.0.0 ok
postmaster... Using cached LMTP connection to localhost via cyrusv2vd...
>>> MAIL From:<> SIZE=2070
250 2.1.0 ok
>>> RCPT To:<postmaster at yo.com>
>>> DATA
550-Mailbox unknown.  Either there is no mailbox associated with this
550-name or you do not have authorization to see it.
550 5.1.1 User unknown
503 5.5.1 No recipients
>>> RSET
250 2.0.0 ok
Closing connection to localhost
>>> QUIT
221 2.0.0 bye

it now seems like sendmail doesn't strip the domain
but cyrus still can't "find" the mailbox

yes, the mailbox is there
I check this over and over
and it's always there

any quick suggestions before I try rtcyrus3 ?

thank you.

 >Mario Pavlov wrote:
 >
 >MP> I've setup sendmail 8.14.3 to work with cyrus-imapd 2.3.13 on
 >MP> FreeBSD 7-STABLE but I have a delivery issue
 >
 >> localhost> lm
 >> user/boo at yo.com (\HasNoChildren)
 >
 >> Mar 21 09:55:57 yo sm-mta[3465]: n2L9tvmO003426: to=,
 >>    delay=00:00:00, xdelay=00:00:00, mailer=cyrusv2, pri=31599,
 >>    relay=localhost, dsn=5.1.1, stat=User unknown
 >
 >MP> cyrus knows about user/boo at yo.com
 >MP> but does sendmail know about it ?
 >MP> or it thinks it's just boo at yo.com
 >
 >MP> what do you think could be the problem ?
 >
 >I think your problem is that for Cyrus virtdomains to work the MTA needs
 >to send the _full_ address in the LMTP transaction.  When Sendmail
 >speaks to Cyrus lmtpd, it needs to say
 >
 >  RCPT TO:
 >
 >rather than just
 >
 >  RCPT TO:
 >
 >Sendmail's definition of the cyrusv2 mailer
 >(/usr/share/sendmail/cf/mailer/cyrusv2.m4 on Debian, possibly elsewhere
 >on FreeBSD) sets "R=EnvToL/HdrToL", but for virtdomains you want
 >"R=EnvToSMTP".  It's also recommended that you change
 >"S=EnvFromSMTP/HdrFromL" to "S=EnvFromSMTP/HdrFromSMTP".
 >
 >As a quick hack, you can change those in situ; or - more gracefully -
 >you can define a new mailer which works this way and use it instead.
 >The Open-Sendmail project has bells-and-whistles implementation,
 >cyrusv3.m4, within RTCyrus3:
 >
 >  http://open-sendmail.sourceforge.net/rtcyrus3/
 >
 >but it is quite complicated to install.
 >
 >
 >
 >> FEATURE(local_lmtp)
 >> MAILER(local)
 >
 >It's not clear to me what the above lines are achieving when you also
 >have the below:
 >
 >> define(`confLOCAL_MAILER', `cyrusv2')
 >> MAILER(`cyrusv2')
 >
 >
 >Cheers
 >
 >
 >Duncan
 >
 >-- 
 >Duncan Gibb - Technical Director
 >Sirius Corporation plc - control through freedom
 >http://www.siriusit.co.uk/ || t: +44 870 608 0063
 >


More information about the Info-cyrus mailing list