Una gran duda para quien comienza a administrar un servidor SMTP usando Postfix, es como auditar o realizar copias de todos los mensajes que se reciban en un buzón especifico. Semanas atrás tuve esta misma interrogante y me di a la tarea de buscar como solucionar este problema. Después de leer varios posts en foros y la documentación oficial de Postfix encontré finalmente la solución. Aquí les comparte un paso a paso simplificado de como hacerlo usando recipient_bcc_maps.
Para este artículo asumimos que ya se tiene instalado y funcionando un servidor SMTP usando Postfix
El parámetro recipient_bcc_maps no es más que una tabla de búsqueda de direcciones BCC (copia oculta) opcional, la cual indexa por dirección de destinatario. La dirección de copia oculta, la cual no admite varios resultados – esto es importante resaltarlo, a diferencia de los alias, solo se permite una única dirección de copia – se agrega cuando el correo ingresa desde fuera de Postfix.
Para que esto funcione debemos crear un fichero donde especificaremos cero o más tablas de búsqueda usando el siguiente formato:
[dirección o expresión regular] [Destino]
Deberán estar separadas por espacios en blanco o comas. Las tablas se buscarán en el orden especificado hasta que se encuentre una coincidencia.
El orden de búsqueda de la tabla es el siguiente:
- Busque la dirección «user+extension@domain.tld«, incluida la extensión de dirección opcional.
- Busque la dirección «user@domain.tld» sin la extensión de dirección opcional.
- Busque la parte local de la dirección «user+extension» cuando el dominio del destinatario sea igual a $myorigin, $mydestination, $inet_interfaces o $proxy_interfaces.
- Busque la parte local de la dirección del «user» cuando el dominio del destinatario sea igual a $myorigin, $mydestination, $inet_interfaces o $proxy_interfaces.
- Busque la parte «@dominio.tld«.
En la práctica
Usando su editor de preferencia creamos un fichero donde almacenaremos la cuenta origen y el destino de las copias
nano /etc/postfix/recipient_bcc_maps
Ahora adicionamos los parametros de busca y el destino de las copias
usuario1@midominio.com copia1@midominio.com marketing@midominio.com boss_marketing@midominio.com miguel@midominio.com miguel@dominiopersonal.io
Ahora adicionamos el parametro recipient_bcc_maps a nuestra configuracion de Postfix:
nano /etc/postfix/main.cf
Dentro del fichero colocamos
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc_maps
Salvamos y cerramos el fichero de configuracion y ejecutamos:
postmap /etc/postfix/recipient_bcc_maps
Para tener seguridad que todo funciona correctamente, recargamos la configuracion de Postfix
service postfix reload
De este modo nuestro servidor de correo electrónico estara enviando una copia de cada cuenta que configuramos a la cuenta de destino especificada.
Nota: Para Postfix 2.3 y posterior, la dirección BCC se agrega como si se especificara con NOTIFY = NONE. No se notificará al remitente cuando la dirección BCC no se pueda entregar, siempre que todo el software posterior implemente RFC 3461.
Nota: con Postfix 2.2 y versiones anteriores, el remitente será notificado incondicionalmente cuando la dirección CCO no se pueda entregar.
Nota: los destinatarios CCO automáticos se producen solo para correo nuevo. Para evitar bucles de correo, los destinatarios BCC automáticos no se generan después de que Postfix reenvía el correo internamente o después de que Postfix genera el correo por sí mismo.
Fuente: http://www.postfix.org/postconf.5.html#recipient_bcc_maps