Si j'ai bien tout compris au projet Greylisting , le principe géneral est le suivant :
Lors d'une transaction SMTP, on sauvegarde pour chaque mail les
informations suivantes (Un triplet) :
- IP distante
- Émetteur
SMTP(aka Sender Address) - Destinataire
SMTP(aka Recipient Adress)
Maintenant, à chaque fois que notre MTA recevra un message, il fera les
choses suivantes : Si la machine qui nous contacte nous est connu (et
qu'elle est white-listée) alors on accepte la transaction. De
même pour l'adresse émettrice.
Maintenant, si le triplet nous est inconnu, on va décider de rejeter le
mail avec une erreur temporaire (Comme le permet les RFC) pour une
certaine durée (1 heure par exemple).
C'est là que le projet est intéressant : Les robots spammeurs ne
respectent pas les RFC, donc lorsqu'ils recoivent une quelconque erreur,
ils s'arrêtent et passe à la prochaine victime. Ou alors, ils essaient
deux fois de suite puis abandonnent : C'est pour cette raison qu'il y a
une durée de blocage.
Puis, dès que cette période est dépassée, le triplet est white-listé, les prochains messages seront alors délivrés instantanéments.
Mais beaucoup de problèmes existent, parmi ceux qui me gène le plus :
- Soucis avec les callback,
- Les FAI ont (heureusement) plusieurs frontaux pour servir le mail extérieur donc le triplet (Ne conservant que l'adresse IP et pas le hostname) ne concorde jamais : Les mails auront toujours une pénalité.
De plus, retarder la réception de mail de plus d'une heure me parait
difficilement acceptable, en particulier pour une entreprise.
Et je ne n'ai pas trop confiance aux serveurs SMTP de Wanadoo : J'avais
voulu voir le temps de retransmission après une erreur temporaire et
j'attends toujours mon mail de test (C'était il y a quelques mois).