diff --git a/rspamd-learn-ham.sh b/rspamd-learn-ham.sh new file mode 100644 index 0000000..7ee0b33 --- /dev/null +++ b/rspamd-learn-ham.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +function log_error() { echo `date '+%Y-%m-%d %H:%M:%S'` ERROR: $1 >&2; } +function log() { echo `date '+%Y-%m-%d %H:%M:%S'` INFO: $1; } + +MAIL=$(tee) + +SERVER_LIST="['10.10.115.15', '10.10.115.16']" +PASSWORD="p455w0rD" + +SERVERS=($(python -c "from random import shuffle; server=${SERVER_LIST}; shuffle(server); print(' '.join(server))")) + + +for SERVER in ${SERVERS[@]}; do + log "Trying to report spam to ${SERVER}" + RETURN=$(/usr/bin/curl -s --connect-timeout 1 -H "Password: ${PASSWORD}" --data-binary --url "http://${SERVER}:11334/learnham" -d "${MAIL}") + STATUS=$? + if [ $STATUS -eq 0 ]; then + log "Spam reported to ${SERVER}: ${RETURN}" + exit 0 + else + if [ $STATUS -eq 28 ]; then + log_error "Reporting SPAM to ${SERVER} failed: Connection timed out." + else + log_error "Reporting SPAM to ${SERVER} failed: CURL exit status ${STATUS}" + fi + fi +done + +log_error "Reporting SPAM failed ${SERVERS[@]}" +exit 1 \ No newline at end of file diff --git a/rspamd-learn-spam.sh b/rspamd-learn-spam.sh new file mode 100644 index 0000000..7873b98 --- /dev/null +++ b/rspamd-learn-spam.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +function log_error() { echo `date '+%Y-%m-%d %H:%M:%S'` ERROR: $1 >&2; } +function log() { echo `date '+%Y-%m-%d %H:%M:%S'` INFO: $1; } + +MAIL=$(tee) + +SERVER_LIST="['10.10.110.15', '10.10.110.16']" +PASSWORD="p455w0rD" + +SERVERS=($(python -c "from random import shuffle; server=${SERVER_LIST}; shuffle(server); print(' '.join(server))")) + + +for SERVER in ${SERVERS[@]}; do + log "Trying to report spam to ${SERVER}" + RETURN=$(/usr/bin/curl -s --connect-timeout 1 -H "Password: ${PASSWORD}" --data-binary --url "http://${SERVER}:11334/learnspam" -d "${MAIL}") + STATUS=$? + if [ $STATUS -eq 0 ]; then + log "Spam reported to ${SERVER}: ${RETURN}" + exit 0 + else + if [ $STATUS -eq 28 ]; then + log_error "Reporting SPAM to ${SERVER} failed: Connection timed out." + else + log_error "Reporting SPAM to ${SERVER} failed: CURL exit status ${STATUS}" + fi + fi +done + +log_error "Reporting SPAM failed ${SERVERS[@]}" +exit 1 \ No newline at end of file