Configuración de la lista negra de PostFix

Configuración de la lista negra de PostFix

He configurado un servidor de correo electrónico básico usando PostFix con Dovecot/IMAP. Pero tengo algún problema con la configuración de la lista negra.

a continuación está mi postfix main.cf

smtpd_recipient_restrictions = check_sender_access mysql:/etc/postfix/blacklist.cf reject_unauth_destination

lista negra.cf

user = mailuser
password = mailuser2011
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 'REJECT' FROM blacklist WHERE email='%s' AND id=( SELECT id FROM virtual_users WHERE email='%u')

Mi tabla SQL tiene 2 columnas para la lista negra. Es decir, idy emaildonde la identificación es el usuario individual y el correo electrónico es la dirección de la lista negra.

Lo que quiero hacer es recuperar la coincidencia de direcciones de la base de datos con referencia al destinatario del correo. Si codifico el valor del correo electrónico en algo existente en la base de datos, podrá rechazar los correos del usuario bloqueado.

Sin embargo, si uso %u(que supongo que se refiere al destinatario), no se bloquea en absoluto.

Respuesta1

Las tablas de búsqueda en Postfix son búsquedas de valores-clave. Eso significa que tiene una clave y obtiene un valor después de la búsqueda. En su caso (check_sender_access) la clave es el remitente; y sólo el remitente. Por lo tanto, su requisito de tener dos claves (remitente y destinatario) no se puede cumplir con Postfix.

La única manera de solucionarlo esDelegación de políticas, donde tiene varias claves (remitente, destinatario, IP, nombre de host, saludo, ...) para realizar su búsqueda.

Pero, por otro lado, es muy mala idea confiar en la dirección del remitente, ya que es lo más fácil de falsificar.

información relacionada