Wird JavaScript in einer E-Mail-Nachricht unterstützt?

146

Wird JavaScript in einer E-Mail-Nachricht unterstützt?

senthil
quelle
38
Dies verdient keine -1
Kikito
1
Ist das Ziel-E-Mail-Programm Outlook? Thunderbird? GMail? Heisse Mail? Alles das oben Genannte? Andere? Verschiedene E-Mail-Programme rendern E-Mails unterschiedlich.
WonderWorker
1
Ich habe gerade gesehen, dass Rockettheme-Jungs einen Countdown machen, also Tage, Stunden, Minuten und Sekunden, und die Grafiken animieren auch ... erstaunlich, was jetzt möglich ist. Ich bin mir nicht sicher, wie sie das sonst tun könnten. Wird im Mac Mail Client beobachtet.
landete
2
Ich fand eine Domain und bekam diese - motionmailapp.com
landete
3
@landed Ich habe gerade dasselbe in einer E-Mail von WordPress gesehen. Es stellt sich heraus, dass es sich einfach um ein dynamisch generiertes GIF handelt, das den Countdown ab dem Zeitpunkt des Abrufs startet (und nach 45 Sekunden zurückgesetzt wird - ich denke, wenn Sie nicht innerhalb von 45 Sekunden durchgeklickt haben, haben Sie die E-Mail wahrscheinlich bereits geschlossen).
Lionel Rowe

Antworten:

49

http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients

Alte Clients wie Lotus Notes, Mozilla Thunderbird, Outlook Express und Windows Live Mail scheinen eine JavaScript-Ausführung unterstützt zu haben. Sonst nichts.

In Bezug auf die Sicherheit scheint dies eine schlechte Idee zu sein, daher würde ich erwarten, dass dies eine Funktion ist, die selbst bei diesen Clients nicht immer verfügbar ist.

MatthewMartin
quelle
9
"Lotus Notes, Mozilla Thunderbird, Outlook Express und Windows Live Mail scheinen alle eine Art JavaScript-Ausführung zu unterstützen" - In Nachrichtenvorlagen-Skripten, nicht in empfangenen E-Mails.
Quentin
2
Wow, diese Kunden sind jetzt so alt, dass die Links darüber, wie sie sich früher verhalten haben, aussterben. Ich kann nichts davon bestätigen oder leugnen. Sechs Jahre später wäre ich überrascht, wenn noch ein einziger E-Mail-Client verwendet wird, für den absichtlich jede Art von Skriptausführung aktiviert ist.
Matthew
18

Nein, E-Mail-Reader erlauben im Allgemeinen kein Javascript.

jsight
quelle
2
Wie wäre es mit Google Mail im Chrome-Browser?
Nicolas S.Xu
1
@ NicolasS.Xu Google Mail entfernt das JavaScript aus der E-Mail, bevor es an den Browser übergeben wird. JS funktioniert also nicht. Ich habe Google Mail in Firefox 56 und Chrome 61 getestet. Außerdem wurde der Code in den Webmaster-Tools überprüft. Der JS-Code wird entfernt.
Christopher K.
18

Andere Antwortende haben vorgeschlagen, dass die Antwort "Nein" ist.

Andererseits wird ein HTML-Anhang wahrscheinlich in einer Umgebung geöffnet, in der Javascript ausgeführt wird.

EDIT: Es wurde vorgeschlagen, dass ich die Frage nicht richtig beantwortet habe, daher hier eine umfassendere Anstrengung.

Zusammenfassung: Ich würde erwarten, dass viele oder die meisten Benutzer, die eine HTML-formatierte E-Mail mit eingebettetem Javascript erhalten, diese ausführen und Tests durchführen lassen, um zu bestätigen, dass dies in einigen Umgebungen der Fall ist. Aber Javascript wird für einige Benutzer blockiert.

Die Protokolle (insbesondere RFC2854) befassen sich explizit mit Skripten (innerhalb des Text- / HTML-Nachrichtentexttyps) mit der folgenden Anweisung:

Darüber hinaus führte die Einführung von Skriptsprachen und interaktiven Funktionen in HTML 4.0 zu einer Reihe von Sicherheitsrisiken, die mit der automatischen Ausführung von Programmen verbunden sind, die vom Absender geschrieben, aber vom Empfänger interpretiert wurden. Benutzeragenten, die solche Skripte oder Programme ausführen, müssen äußerst vorsichtig sein, um sicherzustellen, dass nicht vertrauenswürdige Software in einer geschützten Umgebung ausgeführt wird.

Die Protokolle unterstützen also Javascript, aber welche Benutzeragenten?

Mein (alter) E-Mail-Reader verwendet eine Tabelle, um anzugeben, welche Viewer-Software für jeden Mimetyp verwendet werden soll, und leitet HTML-Inhalte zu meinem bevorzugten Webbrowser um. Fast alle aktuellen Webbrowser unterstützen Javascript (und einige Probleme, wenn Sie versuchen, es auszuschalten!). Enthalten moderne E-Mail-Agenten interne HTML-Interpreter, und wenn ja, ist das Javascript ein- oder ausgeschaltet? Ich habe die Dokumentation zu Thunderbird überprüft und festgestellt, dass Javascript standardmäßig aktiviert zu sein scheint, aber deaktiviert werden kann: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160

Ich habe festgestellt, dass einige (? Viele?) Benutzer jetzt direkt über einen Browser auf ihre E-Mails zugreifen (Webmail ist eine solche Plattform), anstatt eine separate E-Mail-Software auszuführen. Auf allen Plattformen, die ich bisher getestet habe, wird Javascript ausgeführt, das in das HTML der E-Mail-Nachricht eingebettet ist. Einige dieser Umgebungen rufen jedoch abhängig von den Sicherheitseinstellungen des Benutzers externe Links (Javascript oder Bilder oder andere) nicht automatisch ab und können daher nur externes Javascript aus einer Datei ausführen, die als Anhang zur Nachricht enthalten ist. Gleiches gilt für alle Offline-E-Mail-Reader auf einem Gerät ohne aktuelle Internetverbindung.

Dies gilt für Javascript, das in den Hauptnachrichtenteil des E-Mail-Textes eingebettet ist. Man kann HTML auch explizit als "Anhang" angeben lassen, der beim Speichern und anschließenden Öffnen in einem Webbrowser angezeigt wird, in dem Javascript mit sehr hoher Wahrscheinlichkeit verfügbar ist. Daher kann eine zweite Kopie der Javascript-fähigen E-Mail als HTML-Anhang mit einem alternativen Text / einfachen Hauptteil und / oder Tag in den Haupttext / HTML eingefügt werden, der den Benutzer zum Anhang weiterleitet.

Ich habe darüber nachgedacht, weil einige meiner Bekannten darauf bestehen, mir "E-Mail-Grußkarten" zu senden, die aus einer Textnachricht bestehen, die mich zu einem Link weiterleitet, den ich so unbefriedigend fand, dass ich es ablehne, ihn grundsätzlich überhaupt zu laden . Ich habe E-Mail-Grußkarten mit interaktiven Grafiken und Musik und sogar Spielen mit eingebettetem Javascript geschrieben und gesendet und war mit dem Ergebnis zufrieden.

Daher behaupte ich, dass die richtige Antwort "Ja" ist, sowohl weil die Protokolle speziell Skripte behandeln als auch weil alle von mir persönlich verwendeten E-Mail-Agenten das Javascript in meinen Test-E-Mails ausgeführt haben.

Robert Morewood
quelle
2
Sie geben keine konkrete Liste von Clients an, in denen Sie JS erfolgreich getestet haben und mit denen JS-Code. Ich habe Thunderbird 52.4.0 mit der Einstellung "Original HTML" überprüft und das JS <script> document.write('test'); </script>in meinen Test-E-Mails ignoriert . Gleiches gilt für Outlook für Android 2.2.44, K-9 für Android 5.208, Google Mail Webmailer (getestet am 06.11.2017) und Roundcube Webmailer 0.9.5. Daher würde ich denen zustimmen, die sagen, dass es bei den meisten (modernen) Kunden nicht funktioniert. Es ist wahr, dass die meisten Benutzer Webmailer verwenden, aber aus gutem Grund scheinen diese JS aus den Nachrichten zu entfernen, bevor sie an den Browser übergeben werden.
Christopher K.
1
Da Ihr Link zur "Dokumentation" von Thunderbird überhaupt keine Dokumentation ist, sondern sich auf eine vom Benutzer bereitgestellte Frage bezieht, habe ich nach einer offiziellen Dokumentation gesucht und diese gefunden: developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Releases / 3 - Es heißt, JS in E-Mails wurde in Thunderbird 3 gelöscht.
Christopher K.
14

Kurze Antwort

Nein


Beschreibende Antwort

Es hängt davon ab, ob. Es ist jedoch nicht garantiert, dass sich die E-Mail so verhält, wie Sie es möchten. Verschiedene E-Mail-Clients behandeln JS unterschiedlich. Die meisten neueren E-Mail-Clients unterstützen nichts davon, da es möglicherweise sehr gefährlich ist, die Skriptausführung in einer Desktop-Anwendung zu unterstützen, die so viele Ihrer persönlichen Daten enthält.

Ich hatte einen Anwendungsfall, in dem ich JS in einer E-Mail verwenden musste. Ich habe es auch auf dem Webclient von Outlook und Desktop Client ausprobiert, und es stellte sich heraus, dass Outlook nur den Skriptteil Ihrer HTML-E-Mail löscht. Möglicherweise gibt es einen anderen E-Mail-Client, der die JS-Ausführung unterstützt. Da Sie jedoch nicht steuern können, wo Ihre E-Mail auf dem Client-Computer angezeigt wird, ist es keine gute Idee, Skripts in die HTML-E-Mail einzubetten.

Es wird empfohlen, Ihre HTML-E-Mail so einfach wie möglich zu halten, kein JS und das geringste CSS, mit dem Sie arbeiten können (da wiederum verschiedene E-Mail-Clients unterschiedliche Unterstützung für CSS haben), z. B.: Der Webclient von Outlook erkannte nicht einmal HTML Button-Tag in der E-Mail. Ich musste ein Ankertag und etwas CSS darüber verwenden, um die Anzeige einer Schaltfläche nachzuahmen.


Fazit: Verlassen Sie sich bei der Arbeit mit HTML-E-Mail-Inhalten nicht auf Javascript.

Ketan R.
quelle
4

Sie werden kein ausführbares JavaScript auf einen Server und in einen E-Mail-Client übertragen. E-Mails unterstützen jedoch Links. Sie können jederzeit innerhalb einer E-Mail auf Ihre Inhalte verlinken.

Sam152
quelle
3

Für die meisten Mail-Clients nein.

Mervyn
quelle
2

Es kann sein, aber Mail-Clients lesen es nicht und Mail-Server lehnen es möglicherweise ab. Also lass es weg.

Ed B.
quelle
1

Javascript wird in E-Mails nicht unterstützt.

Neil Knight
quelle
2
Das ist nicht wahr. Zumindest Outlook und Outlook Express unterstützen Javascript, was einer der vielen Gründe ist, sie zu vermeiden (aus Sicherheitsgründen).
PauliL
1
@PauliL: Das hängt davon ab, ob Ihre Zoneneinstellungen für eingeschränkte Sites dies zulassen.
Neil Knight
0

Sie können eine E-Mail mit JavaScript anzeigen, das mit Windows Live Mail funktioniert, aber einer neuen E-Mail, die Sie senden möchten, kein JavaScript hinzufügen. JavaScript funktioniert auch mit gespeicherten EML-Dateien. Mozilla Thunderbird Version 60.7.0 kann kein JavaScript anzeigen oder hinzufügen. (Wenn Sie eine EML-Datei mit Thunderbird speichern, funktioniert der Code, wenn die Datei dann mit Live Mail geladen wird.) Sie können eine E-Mail mit JavaScript mithilfe von PHP-Code senden. Einige E-Mail-Websites unterstützen dies möglicherweise, die wenigen, die ich verwendet habe, jedoch nicht. (AOL, uk2.net, GMail)

Mark Antony Agius
quelle