Czy wiadomość e-mail obsługuje JavaScript?
Czy wiadomość e-mail obsługuje JavaScript?
Odpowiedzi:
http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients
Wydaje się, że stare klienty , takie jak Lotus Notes, Mozilla Thunderbird, Outlook Express i Windows Live Mail, obsługiwały jakiś rodzaj wykonywania JavaScript. Nic innego nie działa.
Wydaje się, że to zły pomysł z punktu widzenia bezpieczeństwa, więc spodziewałbym się, że będzie to funkcja, która nie zawsze będzie dostępna, nawet w przypadku tych klientów.
Nie, ogólnie rzecz biorąc, czytniki e-maili nie pozwalają na obsługę javascript.
Inni respondenci sugerowali, że odpowiedź brzmi „nie”.
Z drugiej strony, załącznik HTML prawdopodobnie zostanie otwarty w środowisku obsługującym JavaScript.
EDYCJA: Sugerowano, że nie odpowiedziałem poprawnie na pytanie, więc tutaj jest bardziej kompletny wysiłek.
Podsumowanie: Spodziewam się, że wielu lub większość użytkowników otrzymujących wiadomość e-mail w formacie html zawierającą osadzony kod JavaScript zobaczy, jak działa i przeprowadzi testy, aby potwierdzić, że jest to prawdą w niektórych środowiskach. Ale JavaScript BĘDZIE zablokowany dla niektórych użytkowników.
Protokoły (w szczególności RFC2854) wyraźnie odnoszą się do skryptów (w ramach typu treści wiadomości text / html) za pomocą stwierdzenia, że:
Ponadto wprowadzenie języków skryptowych i możliwości interaktywnych w HTML 4.0 wprowadziło szereg zagrożeń bezpieczeństwa związanych z automatycznym wykonywaniem programów napisanych przez nadawcę, ale zinterpretowanych przez odbiorcę. Agenci użytkownika wykonujący takie skrypty lub programy muszą bardzo uważać, aby mieć pewność, że niezaufane oprogramowanie zostanie uruchomione w chronionym środowisku.
Czyli protokoły obsługują JavaScript, ale które programy użytkownika obsługują?
Mój (starożytny) czytnik e-maili używa tabeli, aby określić, którego oprogramowania przeglądarki użyć dla każdego typu MIME, kierując zawartość html do mojej ulubionej przeglądarki internetowej. Prawie wszystkie obecne przeglądarki internetowe obsługują JavaScript (a niektóre generują straszne ostrzeżenia, gdy próbujesz go wyłączyć!) Czy współczesne agenty poczty e-mail zawierają wewnętrzne interpretery HTML, a jeśli tak, to czy javascript jest włączony czy wyłączony? Sprawdziłem dokumentację Thunderbirda i stwierdziłem, że javascript wydaje się być domyślnie włączony, ale można go wyłączyć: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160
Zauważyłem, że niektórzy (? Wielu?) Użytkowników uzyskują teraz dostęp do poczty e-mail bezpośrednio z przeglądarki (jedną z takich platform jest poczta internetowa), zamiast korzystać z oddzielnego oprogramowania pocztowego. Wszystkie takie platformy, które do tej pory testowałem, obsługują Javascript osadzony w html wiadomości e-mail. Jednak niektóre takie środowiska, w zależności od ustawień bezpieczeństwa użytkownika, nie pobierają automatycznie zewnętrznych linków (JavaScript, obrazów lub innych), więc mogą uruchamiać zewnętrzny JavaScript tylko z pliku, który jest załącznikiem do wiadomości. To samo dotyczy dowolnego czytnika poczty e-mail offline na urządzeniu bez bieżącego połączenia z Internetem.
Powyższe dotyczy javascript osadzonego w głównej części treści wiadomości e-mail. Można również wyraźnie podać html jako „załącznik”, który po zapisaniu i późniejszym otwarciu byłby wyświetlany w przeglądarce internetowej, przy czym JavaScript jest dostępny z dużym prawdopodobieństwem. Dlatego można dołączyć drugą kopię wiadomości e-mail z włączoną obsługą JavaScript jako załącznik HTML z alternatywnym tekstem / zwykłą treścią główną i / lub tagiem w głównym tekście / html kierującym użytkownika do załącznika.
Myślałem o tym, ponieważ niektórzy z moich znajomych nalegają na wysłanie mi „kartki z życzeniami e-mail”, które składają się z wiadomości tekstowej kierującej mnie do linku, który uznałem za tak niezadowalający, że z zasady odmawiam nawet rozważenia jego załadowania . Napisałem i wysłałem e-maile z życzeniami z interaktywną grafiką i muzyką, a nawet z grami używającymi wbudowanego javascript i byłem zadowolony z wyniku.
Dlatego uważam, że poprawna odpowiedź brzmi „Tak” zarówno na tej podstawie, że protokoły konkretnie odnoszą się do skryptów, jak i na podstawie tego, że wszyscy agenci poczty e-mail, których osobiście używam, uruchamiali JavaScript w moich testowych e-mailach.
<script> document.write('test'); </script>
w moich testowych e-mailach. To samo dotyczy Outlooka dla Androida 2.2.44, K-9 dla Androida 5.208, Gmaila webmailer (testowano 06.11.2017) i Roundcube webmailer 0.9.5. Zgodziłbym się więc z tymi, którzy mówią, że to nie działa u większości (współczesnych) klientów. Prawdą jest, że większość użytkowników korzysta z poczty internetowej, ale nie bez powodu wydają się one usuwać JS z wiadomości przed przekazaniem ich do przeglądarki.
Nie
To zależy. Jednak e-mail nie gwarantuje, że zachowa się tak, jak chcesz. Różni klienci poczty e-mail różnie obsługują JS. Większość nowszych klientów poczty e-mail nie obsługuje żadnego z nich, ponieważ obsługa wykonywania skryptów w aplikacji komputerowej, która zawiera tak dużo twoich danych osobowych, jest potencjalnie bardzo niebezpieczna.
Miałem przypadek użycia, w którym musiałem użyć JS w e-mailu. Wypróbowałem również na kliencie internetowym programu Outlook i na komputerze stacjonarnym i okazuje się, że program Outlook po prostu usuwa część skryptową wiadomości e-mail w formacie HTML. Może istnieć inny klient poczty e-mail, który obsługuje wykonywanie JS, ale biorąc pod uwagę, że nie można kontrolować klienta, w którym wiadomość e-mail byłaby wyświetlana na komputerze klienckim, osadzanie jakichkolwiek skryptów w wiadomości e-mail w formacie HTML nie jest dobrym pomysłem.
Zaleca się, aby poczta e-mail w formacie HTML była tak prosta, jak to tylko możliwe, bez JS i najmniej CSS, z którymi możesz zrobić (ponieważ, ponownie, różni klienci poczty e-mail mają również różne wsparcie dla CSS), np .: klient sieciowy Outlook nie rozpoznawał nawet HTML tag przycisku w wiadomości e-mail. Musiałem użyć tagu kotwicy i trochę CSS na nim, aby naśladować wyświetlanie przycisku.
Podsumowując - nie polegaj na JavaScript podczas pracy z treścią wiadomości e-mail w formacie HTML.
JavaScript nie jest obsługiwany w wiadomościach e-mail.
Możesz wyświetlić wiadomość e-mail z JavaScriptem współpracującą z Windows Live Mail, ale nie możesz dodać JavaScript do nowej wiadomości e-mail, którą chcesz wysłać. JavaScript działa również z zapisanymi plikami .eml. Mozilla Thunderbird w wersji 60.7.0 nie może wyświetlać ani dodawać skryptów JavaScript. (Jeśli zapiszesz plik eml za pomocą Thunderbirda, kod zadziała, jeśli plik zostanie następnie załadowany za pomocą Live Mail). Możesz wysłać wiadomość e-mail z JavaScriptem za pomocą kodu PHP. Niektóre witryny e-mailowe mogą to obsługiwać, ale kilka, z których korzystałem, nie. (AOL, uk2.net, GMail)
Żaden klient poczty e-mail nie obsługuje javascript ze względów bezpieczeństwa
Spróbuj wysłać pocztę z tą zawartością HTML
<!DOCTYPE html>
<html>
<body>
<button onclick="this.innerHTML=Date()">The time is?</button>
</body>
</html>