Περιορισμός αποστολής mail με το Postfix

Δεν έχετε δει παρόμοια posts από εμένα. Ο στόχος ήταν να μειωθεί ο όγκος αποστολής μηνυμάτων mail, έτσι ώστε να αποφύγει ο διακομιστής την υπερφόρτωση κλπ.

Το Anvil θα μας βοηθήσεi να μην συμβεί αυτό. Η λειτουργία αυτή είναι διαθέσιμη στο Postfix 2.2.

Ανοίξτε το παρακάτω αρχείο με τον editor σας.

#nano /etc/postfix/main.cf

και προσθέστε τις παρακάτω γραμμές (με # είναι η επεξήγηση, ώστε να γνωρίζει ο διαχειριστής τι κάνει η εντολή):

#Clients that are excluded from connection count (default: $mynetworks)
smtpd_client_event_limit_exceptions =

#The time unit over which client connection rates and other rates are calculated. (default: 60s)
anvil_rate_time_unit = 30m

#How frequently the server logs peak usage information. (default: 600s)
anvil_status_update_time = 120s

#The maximal number of message delivery requests that any client is allowed to make to this service per time unit. (default: 0) To disable this feature, specify a limit of 0.
smtpd_client_message_rate_limit=100

Με το παραπάνω έχω περιορίσει να στέλνει 100 μηνύματα ανά 30 λεπτά. Το 101 θα το απορρίψει.


Για να τσεκάρετε εάν όλο αυτό δουλεύει, μπορείτε να χρησιμοποιήσετε το παρακάτω script (ΠΡΟΣΟΧΗ: όχι εάν είστε σε παραγωγικό σύστημα).

# nano bomber.sh

και γράψτε τον παρακάτω κώδικα

#!/bin/bash
i=0
while [ $i != 300 ]; do
echo test | /usr/bin/mail -s "test message$i" "user@test.com"
i=$(( $i + 1 ))
done;

Θα στείλει 300 μηνύματα όταν το εκτελέσετε. Αντικαταστείστε το "user@test.com" με ένα πραγματικό mail.

Κάντε το εκτελέσιμο

#chmod 700 bomber.sh

και δοκιμάστε.

Θα σας πρήξει λίγο βέβαια αλλά θα δείτε εάν δουλεύει. Θα σας στείλει 100 μηνύματα ενώ θα απορρίψει τα 200. Μετά θα σας στείλει άλλα 100 μετά από 30 λεπτά, απορρίπτοντας τα 100. Μετά από 30 λεπτά, θα σας στείλει τα τελευταία 100.

ΠΡΟΣΟΧΗ: όχι δοκιμές σε παραγωγικό σύστημα.

Πιθανό να γίνεται και με διαφορετικό τρόπο. Εάν έχετε κάποιον να προτείνετε, προσθέστε στα σχόλια.

Δεν υπάρχουν σχόλια

Από το Blogger.