
Manejo mi propio servidor de correo, pero cierta persona me envía "spam". Para intentar disuadir a esta persona de que me envíe más correos electrónicos, me gustaría rechazar el correo electrónico entrante (según su dirección de correo electrónico). Pero todavía quiero que me entreguen el correo electrónico porque podría servir como "prueba" de acoso en línea.
Mi idea era enviar el correo electrónico entrante a dos cuentas (en virt-user-table). Uno que acepta el correo electrónico, el otro que lo devuelve enviando un correo electrónico de respuesta que falló en la entrega.
Se puede hacer esto? ¿Y cómo haría para configurar esto en Postfix?
Gracias de antemano.
Respuesta1
Básicamente, no desea que el correo sea rebotado aquí, pero para algunos remitentes su servidor aún debería generar mensajes adicionales.
Puedes escribir un guión que pueda construir un mensaje quepareceun rebote (por ejemplo, crear un "rebote falso") y organizar las cosas para que los mensajes de este remitente activen este script,ademásal parto normal.
Una forma de hacerlo es estableceralways_bcc
a algún alias, y el destino de ese alias debe ser la ruta del scriptprefijado con la tubería, por lo que el script se ejecutará y se alimentará con el mensaje a analizar. El mensaje aparecerá en stdin. Luego, el script podría analizar el mensaje, verificar la dirección del remitente y salir exitosamente sin hacer nada o crear un rebote falso. Dado que este es sólo un receptor adicional del mensaje, no cambiará la ruta de recepción de correo estándar; el correo también se entregará a quien estaba destinado originalmente. Pero asegúrese de que el guiónsiempreexiste correctamente (por ejemplo, nunca falla con ningún código de error distinto de cero); de lo contrario, el remitentevoluntadTiene un rebote real, bastante críptico.
Además /etc/aliases
:
bcc_script: |/usr/local/bin/bcc_script.py
(no olvide ejecutar newaliases
después de editar este archivo).
Además /etc/postfix/main.cf
:
always_bcc = bcc_script
El /usr/local/bin/bcc_script.py
comienzo será similar a este:
#!/bin/env python3
import sys, email
try:
msg = email.message_from_bytes(sys.stdin.read())
if msg['From'] != '[email protected]':
sys.exit(0)
# creating of the fake bounce here
...
except Exception:
pass
# do nothing, fail silently to avoid bounces if the code above throws runtime error
Tenga en cuenta que no probé este código y es posible que no funcione de inmediato. Puedes encontrar otros ejemplos en Internet.