diff --git a/src/bash/filter.sh b/src/bash/filter.sh index d393103..c3c31d4 100644 --- a/src/bash/filter.sh +++ b/src/bash/filter.sh @@ -72,9 +72,13 @@ MAX_FINAL_SIZE=2097152 # 2Mi ARCHIVE_TITLE="archive_content" ARCHIVE_MIME="text/kaz_email_archive" -FILE_SKIP_DOMAINS="config/file_domaines_non_depollues.txt" +# skip_sender_domaine +FILE_DOMAINS_TO_SKIP_SRC="config/domaine_to_skip_src.txt" +# skip_destination_domaine +FILE_DOMAINS_TO_SKIP_DST="config/domaine_to_skip_dst.txt" #on enlève les commentaires et les lignes vides -SKIP_DOMAINS="$(sed 's:#.*$::g' 's/[[:blank:]]//g' "${FILE_SKIP_DOMAINS}" 2>/dev/null)" +SKIP_DOMAINS_SRC="$(sed 's:#.*$::g' 's/[[:blank:]]//g' "${FILE_DOMAINS_TO_SKIP_SRC}" 2>/dev/null)" +SKIP_DOMAINS_DST="$(sed 's:#.*$::g' 's/[[:blank:]]//g' "${FILE_DOMAINS_TO_SKIP_DST}" 2>/dev/null)" KEEP_FAILED=true DEBUG=true @@ -141,18 +145,19 @@ curlJirafeauSend () { echo "${OUTPUT}" } -# Définir une fonction pour vérifier si le domaine d'un email est dans la liste SKIP_DOMAINS -function check_skip_domains() { +# Définir une fonction pour vérifier si le domaine d'un destinataire est dans la liste à ne pas dépolluer +function check_domains() { local SKIP_DOMAINS="$1" - local LIST_EMAILS="$2" + local LIST_TO_TEST="$2" - for email in ${LIST_EMAILS}; do + for email_tst in ${LIST_TO_TEST}; do # Extraire le domaine de l'email (partie après le "@") - local domain="${email##*@}" + # pour plus de précision on peut sauter ".gouv.fr" ou "martin@pref.gouv.fr" + # dst="${dst##*@}" for domain in ${SKIP_DOMAINS}; do - # vérification si le domaine est dans la liste des domaines à sauter - if [[ " ${email} " =~ "${domain} " ]] ; then + # vérification si le candidat est dans la liste des domaines à sauter + if [[ " ${email_tst} " =~ "${domain} " ]] ; then echo "yes" return fi @@ -254,8 +259,14 @@ if [ "${MODE}" = "none" ]; then fi -if [ "$(check_skip_domains "${SKIP_DOMAINS}" "${LIST_DST_EMAILS}")" = "yes" ]; then - LOG_FIC " - ${GREEN}send without change (skip domain)${NC}" +if [ "$(check_domains "${SKIP_DOMAINS_SRC}" "${MAIL_SOURCE}")" = "yes" ]; then + LOG_FIC " - ${GREEN}send without change (skip sender domain)${NC}" + ${SENDMAIL} "$@" < "${INSPECT_DIR}/in.$$" + quitFilter 0 +fi + +if [ "$(check_domains "${SKIP_DOMAINS_DST}" "${LIST_DST_EMAILS}")" = "yes" ]; then + LOG_FIC " - ${GREEN}send without change (skip destination domain)${NC}" ${SENDMAIL} "$@" < "${INSPECT_DIR}/in.$$" quitFilter 0 fi