12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import DEBUG
- import TEST
- SHELL="/bin/bash"
- SENDMAIL="/opt/cropswap/sendmail.sh"
- DEBUGMAIL="/opt/cropswap/debug.sh"
- MAILBOT="/opt/cropswap/mailbot.sh"
- FILTERDIR="/opt/cropswap/filters"
- MAILDROPDIR="/var/mail/maildrop"
- DEBUG=($DEBUG != 0)
- TEST=($TEST != 0)
- if ($TEST)
- {
- import MAILDROPDIR
- }
- UNHANDLED=5
- BADREQUEST=4
- UNREGISTERED=3
- UNSUBSCRIBED=2
- FATAL=1
- MAILGROUP=""
- MAILGROUPALIAS=""
- POSTMASTER="postmaster@localhost"
- ORGANIZERGROUP="cropswap@shandan.one"
- MEMBERGROUP="cropswap-members@shandan.one"
- foreach /^(To|Cc):.*/
- {
- ADDR=getaddr($MATCH)
- include "$FILTERDIR/$MEMBERGROUP"
- include "$FILTERDIR/$ORGANIZERGROUP"
- include "$FILTERDIR/$POSTMASTER"
- include "$FILTERDIR/subscriptions"
- }
- if ($FORMEMBER && $FORORGANIZER)
- {
- EXITCODE=$BADREQUEST
- cc "|$DEBUGMAIL multiple-mail-group-set"
- exit
- }
- if ($MAILGROUP eq "")
- {
- EXITCODE=$BADREQUEST
- cc "|$DEBUGMAIL no-mail-group-set"
- exit
- }
- if (!$CONTINUE)
- {
- EXITCODE=$UNHANDLED
- cc "|$DEBUGMAIL no-continue"
- exit
- }
- LISTDIR="$MAILDROPDIR/$MAILGROUP"
- MLIST="$LISTDIR/mlist"
- SLIST="$LISTDIR/slist"
- gdbmopen($MLIST, "R")
- TO=gdbmfetch($TOALIAS)
- gdbmclose
- DISPATCH=1
- if ($FORPOSTMASTER)
- {
- include "$FILTERDIR/$POSTMASTER"
- }
- else
- {
- include "$FILTERDIR/$MAILGROUP"
- }
- EXITCODE=$UNHANDLED
- cc "|$DEBUGMAIL unhandled"
- exit
|