#!/bin/bash
#
# $Id: mail_domain_by_nondomain_user_for_users,v 1.1 2002/02/07 18:31:15 syatskevich Exp $
#
#     -     
#     
#
#        .
#   ,    
#     names  :
#
# 1) <e-mail>, <  ,   >
# 2) <  ,   >, < e-mail   >
#

#  
if [ "x$PSQL" = "x" -o "x$PSQLQ" = "x" ]; then
	echo "   (PSQL  PSQLQ).  $0 "
	exit 1
fi

# DOMAINNAME,  ,  
# ,   
. /etc/sysconfig/network
if [ "x$DOMAINNAME" = "x" ]; then
	echo "   .  $0 "
fi

#    
OLD_FILTER="$FILTER"
if [ "x$FILTER" != "x" ]; then
	WHERE_FILTER="WHERE ($FILTER)"
	AND_FILTER="AND ($FILTER)"
fi

SENDFROM="logreporter"
SENDMAIL=/usr/sbin/sendmail

EMAIL_LIST_QUERY="SELECT DISTINCT email FROM (
		    	SELECT sender AS email FROM mail_log
			WHERE sender   LIKE     '%$DOMAINNAME' AND
			      reciever NOT LIKE '%$DOMAINNAME' $AND_FILTER

			UNION

			SELECT reciever AS email FROM mail_log
			WHERE reciever LIKE     '%$DOMAINNAME' AND
			      sender   NOT LIKE '%$DOMAINNAME' $AND_FILTER)
		 email_list"

EMAIL_LIST=`$PSQLQ -c "$EMAIL_LIST_QUERY"`

if [ "x$EMAIL_LIST" = "x" ]; then
	echo "**************************************************************"
	echo "*     "
	echo "**************************************************************"
	echo
	echo "      ."
	echo "       "
	echo

	exit 0
fi

echo "**************************************************************"
echo "*       "
echo "*  "
echo "**************************************************************"

for email in $EMAIL_LIST; do
	# ,  email     ,
	#   -    (  
	#  )  
	email_name=`$PSQLQ -c "SELECT name FROM names WHERE data = '$email'"`
	sendto_list=`$PSQLQ -c "SELECT name FROM names WHERE data = '$email_name'"`

	if [ "x$sendto_list" != "x" ]; then
		MAILFILE=`mktemp /tmp/mail_domain_by_nondomain_for_users-report.XXXXXX`

		echo "To: $email_name <$email>"                                   >> $MAILFILE
		echo "From: Log Reporter <$SENDFROM>"                             >> $MAILFILE
		echo "Subject:      ($OLD_FILTER)" >> $MAILFILE
		echo "Mime-Version: 1.0"                                          >> $MAILFILE
		echo "Content-Transfer-Encoding: 8bit"                            >> $MAILFILE
		echo "Content-Type: text/plain; charset=KOI8-R"                   >> $MAILFILE
		echo                                                              >> $MAILFILE

		export FILTER="(sender = '$email' OR reciever = '$email') $AND_FILTER"
		/usr/lib/loganalyzer/reports/mail_domain_by_nondomain_user >> $MAILFILE

		$SENDMAIL -f $SENDFROM -oi "$sendto_list" < $MAILFILE

		rm -f $MAILFILE

		echo "  $email_name <$email>    <$sendto_list>"
	fi
done

echo
