#!/bin/sh #IP="46.23.136.36" #RECEIVED_IP="185.187.83.14" #RECEIVED_PORT="587" #TLS="1" #TLS_VERSION="tlsv1_2" #TLS_SNI="mx.org.ua" #HELO="" #EHLO="46-23-136-36.static.podluzi.net" #AUTH_MECH="LOGIN" #AUTH_LOGIN="douniasi@epost.org.ua" #AUTH_PASS="123" #MAIL_FROM="postmaster@podluzi.net" #RCPT_TO="spamtrap@mx.org.ua" #SIZE="5457" #FILE="" #DEBUG_OPTIONS="+all" ##DEBUG_OPTIONS="" exim=$(ls -1d /usr/src/redhat/BUILD/exim-4.*/build-*/exim /usr/ports/mail/exim/work/exim-4.*/build-*/exim 2>/dev/null | tail -n 1) conf=/usr/local/etc/exim/configure [ -f test-bh-swaks.local.sh ] && . ./test-bh-swaks.local.sh [ -f $exim ] && chmod 4755 $exim spool_directory=`exim -bP | grep ^spool_directory | awk -F' = ' '{print $2}'` [ -z "`ls -1d $spool_directory/db/callout* 2>/dev/null`" ] || rm $spool_directory/db/callout* if [ ! -z "${RECEIVED_IP}" ] ; then if [ -z "${RECEIVED_PORT}" ] ; then RECEIVED_IP_DATA="-oMi ${RECEIVED_IP}" else RECEIVED_IP_DATA="-oMi [${RECEIVED_IP}]:${RECEIVED_PORT}" fi fi if [ ! -z "${HELO}" ] ; then HELO_DATA="--helo ${HELO}" PROTOCOL_DATA="--protocol SMTP" SIZE= ENVID= NOTIFY= ORCPT= elif [ ! -z "${EHLO}" ] ; then HELO_DATA="--ehlo ${EHLO}" PROTOCOL_DATA="--protocol ESMTP" if [ ! -z "${TLS}" ] ; then # if [ "${RECEIVED_PORT}" = "465" ] ; then # TLS_DATA="--tls-on-connect" # else TLS_DATA="-tls" PROTOCOL_DATA=$PROTOCOL_DATA"S" # fi if [ ! -z "${TLS_VERSION}" ] ; then TLS_DATA="${TLS_DATA} --tls-protocol ${TLS_VERSION}" fi if [ ! -z "${TLS_SNI}" ] ; then TLS_DATA="${TLS_DATA} --tls-sni ${TLS_SNI}" fi fi if [ ! -z "${AUTH_MECH}" ] && [ ! -z "${AUTH_LOGIN}" ] && [ ! -z "${AUTH_PASS}" ] ; then AUTH_DATA="--auth ${AUTH_MECH} --auth-user ${AUTH_LOGIN} --auth-password ${AUTH_PASS}" if [ "${RECEIVED_PORT}" = "465" ] ; then PROTOCOL_DATA="--protocol SSMTPA" else PROTOCOL_DATA=$PROTOCOL_DATA"A" fi fi fi [ -z "${SIZE}" ] || SIZE_DATA=" --from-size ${SIZE}" [ -z "${ENVID}" ] || ENVID_DATA=" --from-envid ${ENVID}" # NOTIFY=SUCCESS,FAILURE,DELAY # NOTIFY=NEVER [ -z "${NOTIFY}" ] || NOTIFY_DATA=" --to-notify ${NOTIFY}" [ -z "${ORCPT}" ] || ORCPT_DATA=" --to-orcpt rfc822;${ORCPT}" if [ -z "${FILE}" ] ; then echo "> swaks --pipe \"${exim} -C ${conf} -d ${RECEIVED_IP_DATA} -bhc ${IP}\" --show-time-lapse ${PROTOCOL_DATA} ${TLS_DATA} ${HELO_DATA} ${AUTH_DATA} --from \"${MAIL_FROM}\"${SIZE_DATA}${ENVID_DATA} --to \"${RCPT_TO}\"${NOTIFY_DATA}${ORCPT_DATA} --quit-after RCPT" > test-bh-swaks.out 2>&1 swaks --pipe "${exim} -C ${conf} -d${DEBUG_OPTIONS} ${RECEIVED_IP_DATA} -bhc ${IP}" --show-time-lapse ${PROTOCOL_DATA} ${TLS_DATA} ${HELO_DATA} ${AUTH_DATA} --from "${MAIL_FROM}"${SIZE_DATA}${ENVID_DATA} --to "${RCPT_TO}"${NOTIFY_DATA}${ORCPT_DATA} --quit-after RCPT >> test-bh-swaks.out 2>&1 else echo "> swaks --pipe \"${exim} -C ${conf} -d ${RECEIVED_IP_DATA} -bhc ${IP}\" --show-time-lapse ${PROTOCOL_DATA} ${TLS_DATA} ${HELO_DATA} ${AUTH_DATA} --from \"${MAIL_FROM}\"${SIZE_DATA}${ENVID_DATA} --to \"${RCPT_TO}\"${NOTIFY_DATA}${ORCPT_DATA} --suppress-data --data - < ${FILE}" > test-bh-swaks.out 2>&1 swaks --pipe "${exim} -C ${conf} -d${DEBUG_OPTIONS} ${RECEIVED_IP_DATA} -bhc ${IP}" --show-time-lapse ${PROTOCOL_DATA} ${TLS_DATA} ${HELO_DATA} ${AUTH_DATA} --from "${MAIL_FROM}"${SIZE_DATA}${ENVID_DATA} --to "${RCPT_TO}"${NOTIFY_DATA}${ORCPT_DATA} --suppress-data --data - < ${FILE} >> test-bh-swaks.out 2>&1 fi