raise a warning when SPAMASSASSIN_SPAM_TO_INBOX isn't explicitly defined
This commit is contained in:
parent
a37049b3fe
commit
30262128f4
|
@ -39,6 +39,7 @@ DEFAULT_VARS["SRS_SENDER_CLASSES"]="${SRS_SENDER_CLASSES:="envelope_sender"}"
|
||||||
DEFAULT_VARS["REPORT_RECIPIENT"]="${REPORT_RECIPIENT:="0"}"
|
DEFAULT_VARS["REPORT_RECIPIENT"]="${REPORT_RECIPIENT:="0"}"
|
||||||
DEFAULT_VARS["LOGROTATE_INTERVAL"]="${LOGROTATE_INTERVAL:=${REPORT_INTERVAL:-"daily"}}"
|
DEFAULT_VARS["LOGROTATE_INTERVAL"]="${LOGROTATE_INTERVAL:=${REPORT_INTERVAL:-"daily"}}"
|
||||||
DEFAULT_VARS["LOGWATCH_INTERVAL"]="${LOGWATCH_INTERVAL:="none"}"
|
DEFAULT_VARS["LOGWATCH_INTERVAL"]="${LOGWATCH_INTERVAL:="none"}"
|
||||||
|
DEFAULT_VARS["EXPLICITLY_DEFINED_SPAMASSASSIN_SPAM_TO_INBOX"]="$( [ -z "${SPAMASSASSIN_SPAM_TO_INBOX}" ] && echo "0" || echo "1" )" # used for backward compatibility
|
||||||
DEFAULT_VARS["SPAMASSASSIN_SPAM_TO_INBOX"]="${SPAMASSASSIN_SPAM_TO_INBOX:="0"}"
|
DEFAULT_VARS["SPAMASSASSIN_SPAM_TO_INBOX"]="${SPAMASSASSIN_SPAM_TO_INBOX:="0"}"
|
||||||
DEFAULT_VARS["MOVE_SPAM_TO_JUNK"]="${MOVE_SPAM_TO_JUNK:="1"}"
|
DEFAULT_VARS["MOVE_SPAM_TO_JUNK"]="${MOVE_SPAM_TO_JUNK:="1"}"
|
||||||
DEFAULT_VARS["VIRUSMAILS_DELETE_DELAY"]="${VIRUSMAILS_DELETE_DELAY:="7"}"
|
DEFAULT_VARS["VIRUSMAILS_DELETE_DELAY"]="${VIRUSMAILS_DELETE_DELAY:="7"}"
|
||||||
|
@ -100,7 +101,7 @@ function register_functions() {
|
||||||
|
|
||||||
if [ "$SMTP_ONLY" != 1 ]; then
|
if [ "$SMTP_ONLY" != 1 ]; then
|
||||||
_register_setup_function "_setup_dovecot"
|
_register_setup_function "_setup_dovecot"
|
||||||
_register_setup_function "_setup_dovecot_dhparam"
|
_register_setup_function "_setup_dovecot_dhparam"
|
||||||
_register_setup_function "_setup_dovecot_quota"
|
_register_setup_function "_setup_dovecot_quota"
|
||||||
_register_setup_function "_setup_dovecot_local_user"
|
_register_setup_function "_setup_dovecot_local_user"
|
||||||
fi
|
fi
|
||||||
|
@ -1492,9 +1493,12 @@ function _setup_security_stack() {
|
||||||
sed -i "s/\$final_spam_destiny.*=.*$/\$final_spam_destiny = D_PASS;/g" /etc/amavis/conf.d/49-docker-mailserver
|
sed -i "s/\$final_spam_destiny.*=.*$/\$final_spam_destiny = D_PASS;/g" /etc/amavis/conf.d/49-docker-mailserver
|
||||||
sed -i "s/\$final_bad_header_destiny.*=.*$/\$final_bad_header_destiny = D_PASS;/g" /etc/amavis/conf.d/49-docker-mailserver
|
sed -i "s/\$final_bad_header_destiny.*=.*$/\$final_bad_header_destiny = D_PASS;/g" /etc/amavis/conf.d/49-docker-mailserver
|
||||||
else
|
else
|
||||||
notify 'warn' "Spam messages WILL NOT BE DELIVERED, you will NOT be notified of ANY message bounced. See SPAMASSASSIN_SPAM_TO_INBOX options."
|
|
||||||
sed -i "s/\$final_spam_destiny.*=.*$/\$final_spam_destiny = D_BOUNCE;/g" /etc/amavis/conf.d/49-docker-mailserver
|
sed -i "s/\$final_spam_destiny.*=.*$/\$final_spam_destiny = D_BOUNCE;/g" /etc/amavis/conf.d/49-docker-mailserver
|
||||||
sed -i "s/\$final_bad_header_destiny.*=.*$/\$final_bad_header_destiny = D_BOUNCE;/g" /etc/amavis/conf.d/49-docker-mailserver
|
sed -i "s/\$final_bad_header_destiny.*=.*$/\$final_bad_header_destiny = D_BOUNCE;/g" /etc/amavis/conf.d/49-docker-mailserver
|
||||||
|
|
||||||
|
if [ "${DEFAULT_VARS['EXPLICITLY_DEFINED_SPAMASSASSIN_SPAM_TO_INBOX']}" = 0 ]; then
|
||||||
|
notify 'warn' "Spam messages WILL NOT BE DELIVERED, you will NOT be notified of ANY message bounced. Please define SPAMASSASSIN_SPAM_TO_INBOX explicitly."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -14,18 +14,27 @@ function teardown() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setup_file() {
|
function setup_file() {
|
||||||
docker run -d --name mail_spam_bounced \
|
docker run -d --name mail_spam_bounced_defined \
|
||||||
-v "`pwd`/test/config":/tmp/docker-mailserver \
|
-v "`pwd`/test/config":/tmp/docker-mailserver \
|
||||||
-v "`pwd`/test/test-files":/tmp/docker-mailserver-test:ro \
|
-v "`pwd`/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
-e ENABLE_SPAMASSASSIN=1 \
|
-e ENABLE_SPAMASSASSIN=1 \
|
||||||
-e SPAMASSASSIN_SPAM_TO_INBOX=0 \
|
-e SPAMASSASSIN_SPAM_TO_INBOX=0 \
|
||||||
-h mail.my-domain.com -t "${NAME}"
|
-h mail.my-domain.com -t "${NAME}"
|
||||||
|
|
||||||
wait_for_finished_setup_in_container mail_spam_bounced
|
wait_for_finished_setup_in_container mail_spam_bounced_defined
|
||||||
|
|
||||||
|
docker run -d --name mail_spam_bounced_undefined \
|
||||||
|
-v "`pwd`/test/config":/tmp/docker-mailserver \
|
||||||
|
-v "`pwd`/test/test-files":/tmp/docker-mailserver-test:ro \
|
||||||
|
-e ENABLE_SPAMASSASSIN=1 \
|
||||||
|
-h mail.my-domain.com -t "${NAME}"
|
||||||
|
|
||||||
|
wait_for_finished_setup_in_container mail_spam_bounced_undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
function teardown_file() {
|
function teardown_file() {
|
||||||
docker rm -f mail_spam_bounced
|
docker rm -f mail_spam_bounced_defined
|
||||||
|
docker rm -f mail_spam_bounced_undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "first" {
|
@test "first" {
|
||||||
|
@ -33,14 +42,27 @@ function teardown_file() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "checking amavis: spam message is bounced" {
|
@test "checking amavis: spam message is bounced" {
|
||||||
run sh -c "docker logs mail_spam_bounced | grep 'Spam messages WILL NOT BE DELIVERED'"
|
# this warning should only be raised when no explicit value for SPAMASSASSIN_SPAM_TO_INBOX is defined
|
||||||
|
run sh -c "docker logs mail_spam_bounced_defined | grep 'Spam messages WILL NOT BE DELIVERED'"
|
||||||
|
assert_failure
|
||||||
|
|
||||||
|
# send a spam message
|
||||||
|
run docker exec mail_spam_bounced_defined /bin/sh -c "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/amavis-spam.txt"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run repeat_until_success_or_timeout 20 sh -c "docker logs mail_spam_bounced_defined | grep 'Blocked SPAM {NoBounceInbound,Quarantined}'"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "checking amavis: spam message is bounced, undefined SPAMASSASSIN_SPAM_TO_INBOX raise a warning" {
|
||||||
|
run sh -c "docker logs mail_spam_bounced_undefined | grep 'Spam messages WILL NOT BE DELIVERED'"
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# send a spam message
|
# send a spam message
|
||||||
run docker exec mail_spam_bounced /bin/sh -c "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/amavis-spam.txt"
|
run docker exec mail_spam_bounced_defined /bin/sh -c "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/amavis-spam.txt"
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
run repeat_until_success_or_timeout 20 sh -c "docker logs mail_spam_bounced | grep 'Blocked SPAM {NoBounceInbound,Quarantined}'"
|
run repeat_until_success_or_timeout 20 sh -c "docker logs mail_spam_bounced_defined | grep 'Blocked SPAM {NoBounceInbound,Quarantined}'"
|
||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue