Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Mon livre « Cyberstructure »

Ève

Tester son courrier électronique avec des auto-répondeurs

Première rédaction de cet article le 30 novembre 2008
Dernière mise à jour le 2 octobre 2023


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 DKIM, 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.)
  • Le service de Glock (compte nécessaire) vous permet de tester la livraison de votre message auprès d'un certaine nombres d'hébergeurs de courrier.

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 <echo@generic-nic.net>; 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

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)