unix
Archived posts from this Category
Archived posts from this Category
Posted by Daniel on 17 Jan 2011 | Tagged as: unix
Quand on gère un serveur SMTP sortant, il peut arriver que l'on souhaite filtrer totalement les messages émis à destination d'un domaine, tout en donnant l'impression à l'émetteur que le message est bien parti. C'est le cas par exemple quand une plate-forme de test souhaite émettre de nombreux messages pour tester ses capacités d'envoi.
Après avoir essayé différentes approches, la plus élégante à mes yeux est l'utilisation de transport_maps, qui permet de spécifier des relais particuliers en fonction de la destination.
Déclarons tout d'abord un tel fichier dans le main.cf de Postfix :
transport_maps = dbm:/etc/postfix/trounoir_map
Notez ici que l'utilisation de dbm est un choix de portabilité, j'ai déjà eu à faire ce type d'opération sur des versions de Postfix compilées sans pcre, par exemple.
Le fichier en question peut contenir des lignes du type :
exemple.fr discard:silently
Puisque j'ai spécifié un type dbm, il faut générer les maps à partir du fichier texte :
# postmap -c /etc/postfix /etc/postfix/trounoir_map
Il ne reste plus qu'à redémarrer postfix, et les messages à destination du domaine exemple.fr génèreront des entrées de ce type (notez le discard au début de la ligne et le silently à la fin) :
postfix/discard[3923]: [ID 197553 mail.info] 8E816F5D: to=, relay=none, delay=13, delays=13/0/0/0, dsn=2.0.0, status=sent (silently)
Commentaires fermés sur SMTP sortant : faire un trou noir avec Postfix
Posted by Daniel on 09 Nov 2009 | Tagged as: unix
Il arrive sous Unix que l'on rencontre des fichiers aux noms inhabituels. Ces fichiers sont souvent le produit d'une erreur humaine (faute de frappe, erreur dans une commande), et on a parfois bien du mal à les effacer. Voici donc une petite solution toute simple qui devrait marcher dans tous les cas...
Posted by Daniel on 26 Oct 2009 | Tagged as: unix
Derrière ce titre un peu barbare (nos amis anglophobes me pardonneront, j'espère) se cache une question finalement très simple : dans un script, on sait que si chaque appel à une commande externe va générer un nouveau processus au niveau du système, ce n'est pas le cas pour les fonctions définies en interne dans le script. Or, on peut parfois souhaiter exécuter une telle fonction de manière séparée, par exemple à des fins de parallélisation. Continue Reading»