Variations autour de Postfix (part. 2) : envoi de mails en masse

Après la gestion des domaines virtuels, un autre problème concernant la messagerie s’est posé pour certains des sites web que nous hébergeons : l’envoi de messages en masse, autrement dit les mail-lists.
Or, si l’envoi d’un message ne semble pas poser de gros problème pour un applicatif quelconque (en simplifiant à l’extrême, il suffit d’une liste d’adresses et d’un outil qui permette d’envoyer un mail programmatiquement), la réalité se heurte aux mesures anti-spam éventuellement implémentées sur les MTA gérant les boites des destinataires.
En effet, il n’est pas impossible d’avoir sur une liste de 1000 destinataires 100 ou 200 destinataires sur un même et seul domaine, et le MTA recevant ces nombreux messages en un laps de temps probablement très court (parce que non contrôlé !) peut très bien considérer qu’il s’agit là d’un envoi massifs de spams … et hop : on se retrouve blacklisté !!!

Cet état de fait peut bien évidemment être contourné par l’utilisation d’un applicatif dédié à l’envoi de mailing-lists, le problème étant que je n’en ai pas trouvé correspondant à mes besoins et que certains CMS (tel que WordPress ou Drupal, par exemple) disposent de modules gérant l’envoi de mailing-lists mais, soit ne savent pas gérer cette problématique, soit nécessitent un paramétrage au cas par cas pour pouvoir l’éviter… Donc, gérer le problème en amont, c’est à dire au niveau du MTA chargé d’émettre les mails, me semble être une solution plus appropriée !

Et c’est là, où on en vient à se repencher sur Postfix et, qu’en lisant un peu de documentation, on s’aperçoit que :

A partir de là, il semble assez facile de mettre en place la politique de « non-flooding » des MTA destinataires à l’aide de quelques mesures simples :

Le premier point dépendra de l’application qui est chargée d’envoyer les messages, généralement chez nous c’est du PHP, et ça ne pose pas de problème.

Le second point est d’une simplicité enfantine. La configuration de Postfix se fait en deux temps :
– Créer d’abord un fichier de règles qui contiendra une expression régulière à matcher, la file de destination des messages en correspondance, et éventuellement un commentaire qui sera loggé. Exemple, enregistrer dans un fichier /etc/postfix/header_checks, les lignes suivantes :

/^X-Hold-iConsult-ml:.*$/
        HOLD    Message en attente de traitement mailing-list par lspfq

Ensuite, indiquer qu’il faut utiliser cette règle dans le fichier principal de configuration /etc/postfix/main.cf avec la ligne suivante :

header_checks = regexp:/etc/postfix/header_checks

Et en dernier lieu, relancer Postfix pour prendre en compte la nouvelle configuration, par un banal /etc/init.d/postfix reload.

posté le 17. juin 2011 à 9:47 par info · Permalink
Catégories : Administration système

3 Réponses

Inscrivez-vous au fil RSS des commentaires

  1. Ecrit par NGOUNE WILFRED
    de 09/08/2012 à 1:28
    Permalink

    Bonjour à tous!
    j’aimerais savoir comment empêché qu’une adresse bien précise (user1@domain.tld) envoie un mail à une autre adresse bien précise en utilisant le paramètre header_checks de postfix.
    j’ai utilisé le :
    if /^from:.*…/
    /^to:.*…/ reject
    endif
    mais rien ne marche. Aidez moi svp!!

  2. Ecrit par francois
    de 09/08/2012 à 3:58
    Permalink

    Bonjour Wilfred,

    Malheureusement, je crains que ce ne soit pas la bonne méthode …

    Primo, pour les mails sortant, il faut utiliser la liste smtp_header_checks
    Ensuite, le header_check ne fonctionne que ligne par ligne, et tu ne pourras pas tester 2 lignes d’entête simultanément (l’émetteur et le destinataire), et d’autre part, la méthode REJECT n’est pas supportée par smtp_header_checks

    Tu peux regarder du côté de smtpd_sender_restrictions, mais la vérification ne se fera pas simultanément sur l’émetteur et l’expéditeur …

    Sinon, il ne te reste plus qu’à écrire un filtre (milter…)

    Désolé.

  3. Ecrit par Darrel F. Garza
    de 02/06/2013 à 11:50
    Permalink

    Soyez proactif à l’égard des FAI afin de conformer vos serveurs et vos e-mails à leurs règles de filtrage. Eliminez les doublons et les adresses invalides de vos fichiers et surveillez vos statistiques (NPAI, taux de désabonnement, etc). Respectez certaines règles de rédaction : évitez les mots connotés et soyez attentifs au format (taille et couleur des polices, photos). Pour les Webmails, évitez les feuilles de style, le Java script, les tableaux imbriqués et les caractères spéciaux. Testez systématiquement vos envois sur des filtres anti-spam. Actualisez sans cesse les règles de rédaction de vos e-mails et constituez vous une base d’expérience. Traitez rapidement les plaintes et constituez vous une liste de personnes ne voulant plus recevoir d’e-mails. Cette liste devra être déclarée à la Cnil. Si vous figurez sur une blacklist officielle, essayez de contacter les sociétés qui les éditent. Attention, cette démarche n’est pas toujours couronnée de succès. Pour éviter les plaintes et les désabonnements, apportez un contenu utile à vos abonnés.

Inscrivez-vous au fil RSS des commentaires

Ajoutez un commentaire