divert(-1) dnl THE FILE IS NOT PROVIDED AND MAINTAINED BY SENDMAIL.ORG dnl dnl Updates: http://anfi.webhop.net/sendmail/rtcyrus2.html dnl dnl By using this file, you agree to the terms and conditions set dnl forth in the LICENSE file which can be found at the top level of dnl the sendmail distribution (sendmail-8.12). dnl dnl Contributed by Andrzej Filip dnl dnl $Log: mrs_cyrus.m4,v $ dnl Revision 8.7 2004/04/01 14:29:50 anfi dnl Added "stripdom" handling in mrs_cyrus_user. dnl Fully defined error mailer details. dnl dnl Revision 8.6 2004/03/18 23:17:57 anfi dnl Fundamental rewrite. dnl ifdef(`_MRS_RELAY_',`', `errprint(`*** ERROR: FEATURE(mrs_cyrus) requires FEATURE(mrs) ')') ifdef(`_MRS_CYRUS_', `errprint(`*** ERROR: There can be only one FEATURE(mrs_cyrus*) ')') define(`_MRS_CYRUS_',`') divert(0) VERSIONID(`$Id: mrs_cyrus.m4,v 8.7 2004/04/01 14:29:50 anfi Exp $') divert(-1) define(`CYRUS_SMMAPD_SOCKET', ifelse(len(X`'_ARG_), `1', `/var/imap/socket/smmapd', _ARG_)) define(`CYRUS_SMMAPD_SOCKET_TYPE', ifelse(len(X`'_ARG2_), `1', `local', _ARG2_)) LOCAL_CONFIG # Add 3 mrs_cyrus rule sets to list of valid mrs rule sets C{MRS}mrs_cyrus_user mrs_cyrus_mailertable mrs_cyrus_stickyhub # map for checking cyrus imap mailbox existence Kcyrus socket -a -T CYRUS_SMMAPD_SOCKET_TYPE:CYRUS_SMMAPD_SOCKET LOCAL_RULESETS ###################################################################### ### feature mrs_cyrus rulesets to be used by feature mrs ###################################################################### Smrs_cyrus_user R<$*> $+ <@$+.> $: <$1> $2 <@ $3 > R<$*> $+ <@$*> $: <$1> $2 <@$3> $| $(cyrus $2 $: $) R<$*> $+ <@$*> $| $* $# error $@ 4.3.0 $: "451 Mail storage for <" $2@$3 "> temporary inaccessible. Possible mailbox full." R<$*> $+ <@$*> $| $* $# cyrusv2 $@ dummy $: $4 R<$*> $+ <@$*> $| $* $: <$1> $2 <@$3> R $+ <@stripdom> $@ $1 R< $~[ : $* > $* $>MailerToTriple < $1 : $2 > $3 R< $+ > $* $>MailerToTriple < $1 > $2 R< > $* $# error $@ 5.1.1 $: "550 User unknown." Smrs_cyrus_mailertable R<$*> $+ <@$+.> $: <$1> $2 <@ $3 > R<$*> $+ <@$+> $: <$1> $2 <@$3> $| $(cyrus $2@$3 $: $) R<$*> $+ <@$+> $| $* $# error $@ 4.3.0 $: "451 Mail storage for <" $2@$3 "> temporary inaccessible. Possible mailbox full." R<$*> $+ <@$+> $| $* $# cyrusv2d $@ dummy $: $2 <@$3> R<$*> $+ <@$*> $| $* $: <$1> $2 <@$3> R< $~[ : $* > $* $>MailerToTriple < $1 : $2 > $3 R< $+ > $* $>MailerToTriple < $1 > $2 R< > $* $# error $@ 5.1.1 $: "550 User unknown." Smrs_cyrus_stickyhub R $+ <@$+.> $: $1 <@ $2 > R $* <@dummy> $@ $1 R $+ <@$={VirtCyrus}> $: $1 <@$2> $| $(cyrus $1@$2 $: $) R $+ <@$={VirtCyrus}> $| $* $# error $@ 4.3.0 $: "451 Mail storage for <" $1@$2 "> temporary inaccessible. Possible mailbox full." R $+ <@$={VirtCyrus}> $| $* $# cyrusv2d $@ dummy $: $1 <@$2> R $+ <@$={VirtCyrus}> $| $* $# error $@ 5.1.1 $: "550 User unknown." R $=L <@$*> $# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: @$1 R $* <@$*> $# ifdef(`confLOCAL_MAILER',confLOCAL_MAILER,`local') $: $1