JavaScript est-il pris en charge dans un e-mail?
JavaScript est-il pris en charge dans un e-mail?
Réponses:
http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients
Les anciens clients , tels que Lotus Notes, Mozilla Thunderbird, Outlook Express et Windows Live Mail, semblent tous avoir pris en charge une sorte d'exécution JavaScript. Rien d'autre ne le fait.
Cela semble être une mauvaise idée du point de vue de la sécurité, donc je m'attendrais à ce que ce soit une fonctionnalité qui ne sera pas toujours disponible, même dans ces clients.
Non, les lecteurs de courrier électronique ne permettent généralement pas le Javascript.
D'autres répondants ont suggéré que la réponse est «non».
D'un autre côté, une pièce jointe HTML sera probablement ouverte dans un environnement qui exécute Javascript.
EDIT: Il a été suggéré que je n'ai pas correctement répondu à la question, alors voici un effort plus complet.
Résumé: Je m'attendrais à ce que beaucoup ou la plupart des utilisateurs recevant un e-mail au format HTML contenant du Javascript intégré le voient s'exécuter et exécutent des tests pour confirmer que cela est vrai dans certains environnements. Mais Javascript SERA bloqué pour certains utilisateurs.
Les protocoles (en particulier la RFC2854) abordent explicitement les scripts (dans le type de corps de message text / html) avec l'instruction que:
De plus, l'introduction de langages de script et de fonctionnalités interactives dans HTML 4.0 a introduit un certain nombre de risques de sécurité associés à l'exécution automatique de programmes écrits par l'expéditeur mais interprétés par le destinataire. Les agents utilisateurs exécutant de tels scripts ou programmes doivent être extrêmement prudents pour s'assurer que les logiciels non approuvés sont exécutés dans un environnement protégé.
Les protocoles prennent donc en charge Javascript, mais quels sont les agents utilisateurs?
Mon (ancien) lecteur de courrier électronique utilise un tableau pour spécifier le logiciel de visualisation à utiliser pour chaque type MIME, en détournant le contenu html vers mon navigateur Web préféré. Presque tous les navigateurs Web actuels prennent en charge Javascript (et certains émettent des avertissements désastreux lorsque vous essayez de le désactiver!) Les agents de messagerie modernes incluent-ils des interprètes html internes et, si oui, le JavaScript est-il activé ou désactivé? J'ai vérifié la documentation sur Thunderbird et j'ai trouvé que javascript semble être activé par défaut mais peut être désactivé: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160
J'ai remarqué que certains (? Plusieurs?) Utilisateurs accèdent désormais directement à leur courrier électronique à partir d'un navigateur (la messagerie Web est l'une de ces plates-formes) plutôt que d'exécuter un logiciel de messagerie séparé. Toutes ces plates-formes que j'ai testées jusqu'à présent exécutent du Javascript intégré dans le html du message électronique. Cependant, certains de ces environnements, en fonction des paramètres de sécurité de l'utilisateur, ne récupèrent pas automatiquement les liens externes (Javascript ou images ou autres) et ne peuvent donc exécuter du Javascript externe qu'à partir d'un fichier inclus en pièce jointe au message. Il en irait de même pour tout lecteur de courrier électronique hors ligne sur un appareil sans connexion Internet actuelle.
Ce qui précède s'applique au javascript intégré dans la partie principale du message du corps de l'e-mail. On peut également avoir du html explicitement donné en tant que «pièce jointe», qui, si elle était enregistrée puis ouverte, serait affichée dans un navigateur Web, dans lequel Javascript est disponible avec une très grande probabilité. Par conséquent, on peut inclure une deuxième copie du courrier électronique activé par javascript en tant que pièce jointe html avec un texte alternatif / corps principal simple et / ou une balise dans le texte principal / html dirigeant l'utilisateur vers la pièce jointe.
J'y ai réfléchi parce que certaines de mes connaissances insistent pour m'envoyer des "cartes de vœux par courrier électronique" qui consistent en un message texte me dirigeant vers un lien que j'ai trouvé si insatisfaisant que je refuse même d'envisager de le charger par principe . J'ai écrit et envoyé des cartes de vœux par e-mail avec des graphiques et de la musique interactifs et même des jeux utilisant du javascript intégré et j'ai été satisfait du résultat.
Par conséquent, je maintiens que la bonne réponse est «Oui» à la fois au motif que les protocoles traitent spécifiquement des scripts et au motif que tous les agents de messagerie que j'utilise personnellement ont exécuté le Javascript dans mes e-mails de test.
<script> document.write('test'); </script>
dans mes e-mails de test. Idem pour Outlook pour Android 2.2.44, K-9 pour Android 5.208, Gmail webmailer (testé le 06.11.2017) et Roundcube webmailer 0.9.5. Je suis donc d'accord avec ceux qui disent que cela ne fonctionne pas dans la plupart des clients (modernes). Il est vrai que la plupart des utilisateurs utilisent des webmailers, mais pour une bonne raison, ceux-ci semblent supprimer JS des messages avant de les transmettre au navigateur.
Non
Ça dépend. Mais il n'est pas garanti que l'e-mail se comporte comme vous le souhaitez. Différents clients de messagerie traitent JS différemment. La plupart des clients de messagerie les plus récents ne prennent en charge aucune de ces fonctionnalités, car il est potentiellement très dangereux de prendre en charge l'exécution de scripts dans une application de bureau qui contient autant de vos informations personnelles.
J'ai eu un cas d'utilisation où je devais utiliser JS dans un e-mail. J'ai également essayé le client Web d'Outlook et le client de bureau, et il s'avère que Outlook efface simplement la partie script de votre e-mail HTML. Il peut y avoir un autre client de messagerie qui prend en charge l'exécution JS, mais étant donné que vous ne pouvez pas contrôler le client où votre e-mail serait affiché sur l'ordinateur client, ce n'est pas une bonne idée d'incorporer des scripts dans l'e-mail HTML.
Il est conseillé de garder votre e-mail HTML aussi simple que possible, pas de JS et le moins de CSS que vous puissiez faire (car, encore une fois, différents clients de messagerie ont également un support variable pour CSS), par exemple: le client Web d'Outlook ne reconnaissait même pas un HTML balise de bouton dans l'e-mail. J'ai dû utiliser une balise d'ancrage et du CSS par-dessus pour imiter l'affichage d'un bouton.
En bout de ligne, ne vous fiez pas à Javascript lorsque vous travaillez avec du contenu d'e-mail HTML.
Javascript n'est pas pris en charge dans les e-mails.
Vous pouvez afficher un e-mail avec JavaScript fonctionnant avec Windows Live Mail, mais vous ne pouvez pas ajouter JavaScript à un nouvel e-mail que vous souhaitez envoyer. JavaScript fonctionne également avec les fichiers .eml enregistrés. Mozilla Thunderbird version 60.7.0 ne peut pas afficher ou ajouter JavaScript. (Si vous enregistrez un fichier eml avec Thunderbird, le code fonctionnera si le fichier est ensuite chargé avec Live Mail) Vous pouvez envoyer un e-mail avec JavaScript en utilisant le code PHP. Certains sites Web de messagerie peuvent le prendre en charge, mais les rares que j'ai utilisés ne le font pas. (AOL, uk2.net, GMail)
Aucun client de messagerie ne prend en charge JavaScript en raison de problèmes de sécurité
Essayez d'envoyer des e-mails avec ce contenu html
<!DOCTYPE html>
<html>
<body>
<button onclick="this.innerHTML=Date()">The time is?</button>
</body>
</html>