#
#	mailer definition for cyrus IMAP service
#

REVISION_ID='@(#)cyrus	1.13 (motonori/WIDE) 26 Dec 1997'

#|# cyrus IMAP mailer handling (supported with V6 cf or later)
#|# (see http://andrew2.andrew.cmu.edu/cyrus/ to get info. about the cyrus)
#|# define CYRUS_MAILER_PATH explicitly if you want to use cyrus feature
#|##CYRUS_MAILER_PATH=/usr/cyrus/bin/deliver
#|#CYRUS_MAILER_UID='cyrus:mail'
#|#
#|#CYRUS_MAILER_ARGS='deliver -m $h -- $u'
#|##CYRUS_MAILER_ARGS='deliver -e -m $h -- $u'
#|#CYRUSBB_MAILER_ARGS='deliver -m $u'
#|##CYRUSBB_MAILER_ARGS='deliver -e -m $u'
#|#
#|# Domain name which should be accepted for delivery with IMAP mailer
#|# If you do not define, IMAP mailer is used instead of local mailer
#|##IMAP_DOMAIN=imap.domain
#|# Domain name which should be accepted for delivery with IMAP BB mailer
#|# If you do not define, bb+name@local is accepted for IMAP BB
#|##IMAPBB_DOMAIN=imapbb.domain
#|# Allow user+mbox@domain style addressing (yes/no)
#|#IMAP_PLUSSED_DELIVERY=no
#|#
#|### V6 cf
#|#CYRUS_MAILER_FLAG='lsDFMA5@nSP'
#|#CYRUSBB_MAILER_FLAG='lsDFMnSP'
#|### V7 cf
#|#CYRUS_MAILER_FLAG='lsDFMA5@qnSP'
#|#CYRUSBB_MAILER_FLAG='lsDFMnSP'

if [ "$CYRUS_MAILER_PATH" ]
then

	if [ "$REVISION_ID_LIST" ]
	then
		REVISION_ID_LIST="$REVISION_ID_LIST\\
# $REVISION_ID"
	else
		REVISION_ID_LIST="# $REVISION_ID"
	fi

	: ${CYRUS_MAILER_PATH=/usr/cyrus/bin/deliver}
	: ${CYRUS_MAILER_UID='cyrus:mail'}
	: ${CYRUS_MAILER_ARGS='deliver -m $h -- $u'}
	: ${CYRUSBB_MAILER_ARGS='deliver -m $u'}

	if [ "$CF_FORMAT" = V6 ]
	then
		## V6
		: ${CYRUS_MAILER_FLAG='lsDFMA5@nSP'}
		: ${CYRUSBB_MAILER_FLAG='lsDFMnSP'}
	else
		## V7
		: ${CYRUS_MAILER_FLAG='lsDFMA5@qnSP'}
		: ${CYRUSBB_MAILER_FLAG='lsDFMnSP'}
	fi

	CYRUS_MAILER_R=20/0

CYRUSMAILER='# cyrus mailer\
Mcyrus,   P='$CYRUS_MAILER_PATH', F='$CYRUS_MAILER_FLAG', S=10, R='$CYRUS_MAILER_R',\
          T=X-Unix, U='$CYRUS_MAILER_UID', A='"$CYRUS_MAILER_ARGS"'\
Mcyrusbb, P='$CYRUS_MAILER_PATH', F='$CYRUSBB_MAILER_FLAG', S=10, R='$CYRUS_MAILER_R',\
          T=X-Unix, U='$CYRUS_MAILER_UID', A='"$CYRUSBB_MAILER_ARGS"


	HDRCYRUS='# cyrus imap service'

	: ${IMAP_PLUSSED_DELIVERY=no}
	if [ "$IMAP_PLUSSED_DELIVERY" != no ]
	then

S0CYRUS_DELIVERY_P='R$+ + $* <@${ImapDomain}>	$#cyrus $@ $2 $: $1'
S0CYRUS_FINAL_P='R$+ + $+			$#cyrus $@ $2 $: $1'

	else

S0CYRUS_DELIVERY_P='#R$+ + $* <@${ImapDomain}>	$#cyrus $@ $2 $: $1'
S0CYRUS_FINAL_P='#R$+ + $+			$#cyrus $@ $2 $: $1'

	fi

	if [ "$IMAP_DOMAIN" ]
	then

HDRCYRUS="$HDRCYRUS"'\
# domain name for imap service\
D{ImapDomain} '$IMAP_DOMAIN

		if [ "$IMAPBB_DOMAIN" ]
		then

HDRCYRUS="$HDRCYRUS"'\
# domain name for imap BB service\
D{ImapBBDomain} '$IMAPBB_DOMAIN

S0CYRUSDELIVERY='# delivring to imap system\
R$+ <@${ImapBBDomain}>		$#cyrusbb $: $1\
R$={NoImap} <@${ImapDomain}>	$#local $: $1\
'"$S0CYRUS_DELIVERY_P"'\
R$+ <@${ImapDomain}>		$#cyrus $@ ${ImapDomain} $: $1\
'

		else

S0CYRUSDELIVERY='# delivring to imap system\
Rbb + $+ <@${ImapDomain}>	$#cyrusbb $: $1\
R$={NoImap} <@${ImapDomain}>	$#local $: $1\
'"$S0CYRUS_DELIVERY_P"'\
R$+ <@${ImapDomain}>		$#cyrus $@ ${ImapDomain} $: $1\
'

		fi

	else

S0CYRUSLOCAL='Rbb + $+			$#cyrusbb $: $1\
R$={NoImap}			$#local $: $1\
'"$S0CYRUS_FINAL_P"'\
R$*				$#cyrus $@ $j $: $1\
'

	fi

HDRCYRUS="$HDRCYRUS"'\
# user names not to use imap service\
C{NoImap} root postmaster'

	case "$NOIMAP_USERS" in
	'')	;;
	/*)
HDRCYRUS="$HDRCYRUS"'\
F{NoImap}'"$NOIMAP_USERS"
		;;
	*)
HDRCYRUS="$HDRCYRUS"'\
C{NoImap} '"$NOIMAP_USERS"
		;;
	esac

fi
