Greboca  

Blog de Stéphane Bortzmeyer  -  Tester son courrier électronique avec des auto-répondeurs

 -  2 octobre - 

Une fois qu'on a bien transpiré et configuré proprement son serveur de messagerie, comment vérifier s'il marche ? En écrivant un message ? Cela ne teste que la moitié du trajet, il serait bien d'avoir aussi une réponse... Si on a des copains patients, on peut leur écrire et solliciter une réponse mais c'est assez abusif. Il vaut mieux compter sur un programme qui répondra à chaque fois, sans se lasser, et qui pourra en prime vous indiquer à quoi ressemblait le message entrant. Quelles sont les adresses qui correspondent à un tel programme ?

Voici une liste partielle. Si vous en connaissez d'autres, n'hésitez pas à me prévenir.

  • echo@nic.fr (Accessible en IPv6 et accepte TLS.)
  • ping@stamper.itconsult.co.uk (analyse SPF et indique le résultat ; en revanche, il ne renvoie qu'une partie du message original ; par ailleurs, cette organisation héberge l'excellent service Stamper.)
  • check-auth@verifier.port25.com
  • ping@zici.fr (mais seulement IPv4, et sans TLS), il y a une documentation et le code.
  • test@doesnotwork.eu (IPv6 seulement, à n'utiliser que si vous pouvez envoyer et recevoir du courrier en IPv6, il teste réception et envoi, et vous envoie donc deux confirmations.)
  • ping@tools.mxtoolbox.com (la réponse est en deux parties, texte et HTML et la partie texte est du n'importe quoi, il faut regarder la partie HTML, ou passer par le site Web ; sinon, tests SPF, DKIM et DMARC).
  • Le réflecteur RFC 8255 permet de tester les messages multilingues du RFC 8255. Lisez son mode d'emploi pour en savoir plus.
  • https://www.mail-tester.com/ qui n'est pas vraiment un répondeur : on regarde une page Web qui vous indique une adresse (à usage unique) à laquelle on écrit et qui vous affiche ensuite le résultat de l'analyse (y compris SPF et DKIM).
  • À peu près la même chose avec https://www.mailgenius.com/ ou avec https://scanmy.email/.
  • Un service analogue est MECSA, qui vous envoie un message auquel vous répondez et qui vous présentera alors divers diagnostics, notamment de sécurité. (À interpréter avec prudence, comme d'habitude.)
Certains pratiquent le greylisting (RFC 6647) donc soyez patient : la réponse n'arrivera pas tout de suite, c'est du courrier électronique, pas de la messagerie instantanée.

Tous renvoient également le message tel qu'ils l'ont reçu, ce qui permet de vérifier que tous les détails du courrier sortant sont corrects, par exemple les en-têtes Received:. Par exemple, voici le champ Received: qu'avait le message en rentrant dans le serveur de messagerie de generic-nic.net :

Received: from mail.bortzmeyer.org (bortzmeyer-1-pt.tunnel.tserv10.par1.ipv6.he.net[IPv6:2001:470:1f12:420::2])
        by mail.generic-nic.net (Postfix) with ESMTP id 42B2A9345C2
        for ; Sun, 30 Nov 2008 19:26:58 +0100 (CET)
On y voit (la syntaxe complète de Received: est décrite dans le RFC 5322, section 3.6.7) le nom qu'a annoncé l'expéditeur dans la commande EHLO, ici mail.bortzmeyer.org, l'adresse IP dudit expéditeur, ici 2001:470:1f12:420::2 et le nom obtenu à partir de cette adresse IP par résolution inverse dans le DNS, ici bortzmeyer-1-pt.tunnel.tserv10.par1.ipv6.he.net.

Une mention spéciale mérite d'être faite pour check-auth@verifier.port25.com. Outre le simple test d'écho du courrier, il fait en outre une série de tests liés à la lutte anti-spam (présence dans les principales listes noires, score SpamAssassin, etc) ce qui peut être pratique si vos messages ne sont pas délivrés et que vous soupçonnez les logiciels anti-spam d'en être responsables. Voici le genre de rapport qu'envoie ce service :

==========================================================
Summary of Results
==========================================================
SPF check:          permerror
DomainKeys check:   neutral
DKIM check:         neutral
SpamAssassin check: ham
...
[Pour SPF, ici en erreur, les enregistrements SPF et l'identité testée 
sont affichés mais aucune explication détaillée n'est fournie.]
...
SpamAssassin v3.2.5 (2008-06-10)

Result:         ham  (2.0 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
-0.2 BAYES_40               BODY: Bayesian spam probability is 20 to 40%
                            [score: 0.3813]
 2.2 TVD_SPACE_RATIO        BODY: TVD_SPACE_RATIO

Autre mention, les auto-répondeurs de test des adresses internationalisées en http://idn.icann.org/E-mail_test.

Enfin, si vous voulez monter un tel service chez vous, compatible avec le RFC 3834, voici le script procmail qui est derrière echo@generic-nic.net. Il est configuré ainsi dans /etc/aliases :

echo: "|/usr/bin/procmail /etc/procmailrcs/echo"
et /etc/procmailrcs/echo contient :
VERBOSE=off
LOGFILE=/var/tmp/echo.log
MYDOMAIN=YOUR-DOMAIN-NAME-HERE.example
LOOP_TAG=echo@$MYDOMAIN

# Read RFC 3834! Option -t of formail must not be used and Auto-Submitted 
# must be present.
:0Hhb
* !^FROM_DAEMON
* $!^X-Loop: $LOOP_TAG
| (tempfile=`mktemp`; cat - > $tempfile; cat $tempfile | \
     formail -r -k -A'Precedence: junk' \
        -A'Auto-Submitted: auto-replied' \
        -A'MIME-Version: 1.0' \
        -A'Content-type: text/plain; charset=US-ASCII' \
        -A"X-Loop: $LOOP_TAG" \
        -A"From: postmaster@$MYDOMAIN (Echo automatic service)" ; \
	cat /local/lib/echo-reply; \
        echo ""; echo "Your original message:"; echo ""; \
        cat $tempfile; rm $tempfile) \
      | $SENDMAIL -t

par Stéphane Bortzmeyer

Blog de Stéphane Bortzmeyer

La réputation

 -  26 novembre - 

Ce livre parle d'un féminicide, l'assassinat de Shaïna Hansye en 2019. Et regarde de près l'environnement où ce crime a eu lieu. Ce n'était pas un (...)


RFC 9476: The .alt Special-Use Top-Level Domain

 -  30 septembre - 

Le TLD .alt a été réservé pour les utilisations non-DNS. Si demain je crée une chaine de blocs nommée Catena et que j'enregistre des noms dessus, il (...)


Deux exemples d'un problème DNS sur des domaines importants

 -  5 août - 

Vous le savez, l'Internet n'est pas un long fleuve tranquille. Il y a des pannes, des attaques, des erreurs… La vie des administrateurs système et (...)


Un peu de langage d'assemblage du RISC-V sur Linux

 -  9 juillet - 

Un peu de distraction sans objectif utilitaire à court terme : programmons en langage d'assemblage (ce qui est souvent appelé par abus de langage « (...)


Le problème DNSSEC venu du froid

 -  20 juin - 

Nous sommes en 2023, tous les logiciels libres DNS font correctement du DNSSEC depuis longtemps, les bavures des débuts semblent bien oubliées. (...)