mailto: est un schéma d'URI permettant de créer un lien hypertexte vers une adresse électronique.

Employé par exemple dans une page web en HTML, un tel lien permet à l'utilisateur qui l'a suivi de voir son client de messagerie démarrer l'écriture d'un nouveau message électronique, avec quelques champs déjà remplis, comme l'adresse du destinataire ou encore l'objet du message.

Normes modifier

mailto: a été défini par plusieurs RFC : la première fois en juillet 1998 par la RFC 2368[1], qui a été remplacée en octobre 2010 par la RFC 6068[2].

Exemples modifier

Extrait de la syntaxe de l'URI dans la norme [3] :

mailtoURI = "mailto:" [ to ] [ hfields ]
to = addr-spec *( "," addr-spec )
hfields = "?" hfield *( "&" hfield )
hfield = hfname "=" hfvalue

to est donc une ou plusieurs adresses courriel addr-spec de destinataire (séparées par une "," littérale (ou un ";") et ne comprenant chacune aucun caractère parmi ",", ";", "?", "&") et hfields les autres champs (séparés du champ to par un "?" littéral, ces champs étant séparés entre eux par un signe "&" et comprenant chacun deux parties : un nom symbolique de champ (hfield) ne comportant que des lettres ("from", "to", "cc", "bcc", "subject", "body") et une valeur (hfvalue) donnée à ce champ (qui dans le cas des champs nommés "from", "to", "cc" ou "bcc" peut également donner une ou plusieurs adresses courriel séparées par une "," ou un ";" ). Le champ explicitement nommé "to=..." peut remplacer le premier champ facultatif to, ou le compléter en donnant des adresses de destinataires supplémentaires.

  • Avec une adresse courriel : mailto:p.dupond@example.com ou mailto:?to=p.dupond@example.com
  • Avec un nom de destinataire convivial : mailto:Paul%20Dupond<p.dupond@example.com>
  • Avec l'objet du message : mailto:p.dupond@example.com?subject=Sujet%20du%20courrier
  • Avec plusieurs destinataires : mailto:p.dupond@example.com,j.martin@example.com[4] ou mailto:p.dupond@example.com?to=j.martin@example.com
  • Avec un destinataire en copie : mailto:p.dupond@example.com?cc=j.martin@example.org
  • Avec un destinataire en copie cachée : mailto:p.dupond@example.com?bcc=j.martin@example.org
  • Avec un sujet et un contenu du message pré-remplis : mailto:p.dupond@example.com?subject=Bonjour%20Paul&body=J’espère%20que%20vous%20allez%20bien.%20--%20Jean.
  • Avec un retour chariot dans le contenu du message : mailto:p.dupond@example.com?body=Bonjour%0d%0aAu%20revoir[5]
  • Combinaison de différents champs : mailto:p.dupond@example.com?subject=Sujet%20du%20courrier&cc=pierre@example.org&bcc=jacques@example.net&body=Bonjour

Utilisation sur une page Web modifier

L'intégration de mailto: dans une balise HTML utilise le format suivant :

<a href="mailto:p.dupond@example.com">Cliquer ici pour m’envoyer un courriel.</a>

Inconvénients modifier

  • Les robots spambot peuvent récolter les adresses contenues dans les commandes mailto: pour l'envoi de pourriels.
  • Un client de messagerie doit être configuré pour que le lien mailto: soit fonctionnel. Sinon, le lien mailto: ne permet pas d'envoyer de courriel. D'autant que les webmails sont très utilisés et ceux-ci sont rarement configurés comme client de messagerie par défaut du système. C'est une des raisons pour lesquelles de nombreux sites web proposent un Formulaire de contact plutôt qu'un lien mailto:.
  • Les spécifications RFC ne limitent pas la longueur de la commande mailto:. Par contre, les logiciels gérant cette commande ont des limitations. Les premiers logiciels limitaient la taille à 255 caractères[6]. De nos jours, les navigateurs acceptent des tailles de plus en plus grandes, déplaçant cette limitation au niveau du Système d'exploitation et du client de messagerie[7]. Cependant, pour rester compatible avec les anciens systèmes, la taille de la commande mailto: doit rester modeste.

Notes et références modifier

  1. (en) Paul Hoffman (Internet Mail Consortium), Larry Masinter (Xerox Corporation) et Jamie Zawinski (Netscape Communications) pour le Network Working Group, « The mailto URL scheme », Request for comments no 2368,
  2. (en) Martin J. Dürst (Aoyama Gakuin University), Larry Masinter (Adobe Systems) et Jamie Zawinski (DNA Lounge) pour l'Internet Engineering Task Force, « The 'mailto' URI Scheme », Request for comments no 6068,
  3. (en) RFC6068 "The 'mailto' URI Scheme"
  4. La virgule n'est pas toujours reconnue comme séparateur d'adresse courriel. Dans ce cas la virgule peut être remplacée par le point virgule : mailto:p.dupond@example.com;j.martin@example.com
  5. Le code %0A peut aussi symboliser un saut de ligne.
  6. La fonction mailto est limitée à 255 caractères (2004)
  7. (en) MAILTO max-length of each internet browsers? (2012)