En este post voy a explicar como añadir un filtro o rutina a Postfix. Esto nos puede servir para desarrollar cualquier aplicación basada en el correo electrónico, como puede ser el control remoto de tu maquina, administración de contenidos de una Web u otro tipo de aplicaciones gestionadas a trabes del correo electrónico.
La configuración de postfix en una maquina GNU/Linux es bastante sencilla, basta con hacer:
y configurar Postfix para que acepte correos de nuestros dominios editando el archivo /etc/postfix/main.cf
Una vez comprobado que recibimos nuestro correo correctamente pasamos a configurar Postfix para que ejecute un script cada vez que llegue un correo. Por tanto editaremos el archivo /etc/postfix/master.cf de la siguiente manera:
Al principio del documento añadiremos (en negrita):
Para decirle que aplique la rutina filter por cada conexión smtp entrante.
Abajo definimos la rutina filter de la siguiente manera:
donde argv será la ruta al script que lanzara nuestra aplicación.
Un ejemplo de script podría ser este:
Donde podríamos llamar a nuestro script en python filter.py que parsearia el mensaje realizando las diferentes funciones. Por ejemplo podríamos recoger el subject del mensaje y lanzarlo como un comando. De tal manera que si mandáramos un mensaje con el subject “halt” podríamos apagar la maquina de forma remota.