Filtrar correos con Postfix y Spamassassin SIN usar Amavis (con clamsmtp)
La mayoría de servidores virtuales dedicados instalan el sistema sin partición swap, necesaria para el funcionamiento de Amavis. En estos casos te aparecerán en los logs de amavis algo como ésto: "no se ha podido asignar memoria".
Si estás en este caso debes hacer unos pequeños cambios en tu server para solucionarlo.
Eliminar amavis del sistema e instalar clamsmtp, dejando el archivo /etc/clamsmtpd.conf con estos cambios:
OutAddress: 10026 # Puerto de entrega de correo
Listen: 127.0.0.1:10025 # Puerto de escucha a postfixA continuación hacemos unos cambios en /etc/postfix/master.cf
Debajo de la linea
smtp inet n - - - - smtpdagregamos esta:
-o content_filter=scan:127.0.0.1:10025 # Pasamos el correo a spamc para el chequeoY al final del archivo dejaremos ésto:
spamassassin unix - n n - - pipe
user=vmail argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
scan unix - - n - 16 smtp
-o smtp_send_xforward_command=yes
127.0.0.1:10026 inet n - n - 16 smtpd
-o content_filter=spamassassin
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks_style=host
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
Tener en cuenta que hay que eliminar cualquier referencia del tipo "content_filter=amavis[x.x.x.x]" que tengamos en /etc/postfix/main.cf si no queremos que los correos entren en un bucle sin fin.
Después de reiniciar clamsmtp y postfix tendremos el sistema en marcha.