Please upgrade your browser to view

KROM

We've noticed you're using an outdated or unsupported browser. Please upgrade your browser or choose from one of the modern browsers listed above (Chrome, Firefox, Safari, IE9, IE10, IE11) in order to view our website. Thank you for your time and interest in our services.

spamass-milter – integrare corecta cu postfix / mysql

Postat la February 9, 2015 de catre kRom__

In multe how-to-uri disponibile pe net, se recomanda interfatarea spamassassinului (prin spamc si spamd) direct la postfix. In mod normal, acest lucru se face prin intermediul fisierului master.cf din postfix modificand comanda de pipe catre spamd, care este setat sa asculte pe un port local (127.0.0.1) si asteapta mesaje spre scanare. Din pacate, scenariul asta nu permite prea multe modificari ale inputului pe care il poate primi spamassassinul direct pri intermediul postfixului.

Recomandata este interfatarea spamassassinului prin intermediul spamass-milter-ului. Singurul dezavantaj (daca se incarca user_prefs-urile din mysql) e in situatia in care se transmit mesaje catre destinatari multipli. Daca in scenariul anterior, aparea o problema majora si spamassassinul nu mai reinjecta mesajele in coada postfixului, negenerand nici macar mesaj de eroare, de data asta se ignora user_prefs-ul userului destinatie (pentru ca spamass-milter nu poate sti care dintre destinatari trebuie sa livreze user_prefs-ul). In fapt, nu se ignora userul per se, dar se incarca un user universal ale carui user_prefs ar putea fi incarcat, dar se revine la functionalitatea de preferinte globale ale spamassassinului. In concluzie, ramane un singur set de reguli valabil (cel global), care se incarca atunci cand soseste un e-mail pentru destinatari multipli, dar dispar problemele de livrare ale mailurilor.

Exista o solutie si pentru problema asta, dar nu se poate implementa (nu usor, oricum) pentru spamass-milter. S-ar putea scrie o functie care sa cheme spamc (implicit spamd) cu un for ciclic care verifica daca destinatarii sunt a) useri locali si b) au fisiere user_prefs corespunzatoare.