web-dev-qa-db-fra.com

Mailto maximum efficace: longueurs de corps

Il existe une longueur maximale pour le texte dans la section & body d'un lien mailto :. Selon l'un de mes collègues, le W3C publie la limite à 256 (je n'ai pas de lien pour le sauvegarder, cependant).

Nous intégrons mailto: liens dans un e-mail et une page Web et avons utilisé avec succès plus de 256 caractères. Après un certain point, cependant, les clients de messagerie et les navigateurs commencent à s'écailler et refusent d'ouvrir le lien.

Je voudrais connaître les longueurs maximales réelles autorisées pour les éléments suivants:

Clients de messagerie:

  • Perspectives (2003, 2007, 2010)
  • Eudora (7.1, et/ou quelle que soit la dernière version)
  • Thunderbird (dernière version)

Navigateurs:

  • Firefox (3+)
  • IE (6, 7, 8)
  • navigateur iPhone

Tous les numéros que vous pouvez fournir seront reçus avec gratitude.

39
Brian Beckett

La norme ne définit pas de longueur maximale, laissant l'implémentation aux navigateurs et aux clients de messagerie (voir IETF RFC 2368).

Les produits Microsoft ont des limites définies:

D'autres navigateurs sont susceptibles de fonctionner jusqu'à des longueurs supérieures à celles d'un corps de courrier électronique raisonnable. L'iPhone n'a pas de limite documentée, mais fonctionne avec jusqu'à 1 Mo de texte.

Les navigateurs modernes qui prennent en charge les URL de données (tout sauf IE <9) devraient convenir.

27
jlev

Pour les navigateurs avec consoles JS, un test simple:

for (var i=2014; i>1600; i--) {var good=1; try {location.href='mailto:?body='+'a'.repeat(i)} catch (e) {good=0;} if (good==1) {console.log(i+13);break;}}

(Le 13 correspond à la longueur de mailto:?body=.)

Sur Firefox 32.0.3, cela produit 2008 (longueur du corps 1995). Sur Thunderbird 31.2.0, tous les 1 995 caractères en font le corps du nouveau courrier électronique.

Certains disent que cela dépend principalement du réglage du système d'exploitation mais sous Windows, au moins, je n'ai trouvé aucune entrée de registre liée à mailto avec un nombre proche de 2 000.

11
Kev