Apakah JavaScript didukung dalam pesan email?

146

Apakah JavaScript didukung dalam pesan email?

senthil
sumber
38
Ini tidak layak -1
kikito
1
Apakah program email target, Outlook? Thunderbird? GMail? Hotmail? Semua yang di atas? Lainnya? Program email yang berbeda membuat email berbeda.
WonderWorker
1
Saya baru saja melihat bahwa rockettheme guys sedang melakukan hitung mundur jadi berhari-hari berjam-jam dan detik dan grafiknya menjiwai juga ... luar biasa apa yang mungkin sekarang. Tidak yakin bagaimana lagi mereka melakukan ini. Diamati di klien email mac.
mendarat
2
Saya menemukan domain dan mendapatkan ini - motionmailapp.com
mendarat
3
@adalah saya hanya melihat hal yang sama di email dari WordPress. Ternyata itu hanya GIF yang dihasilkan secara dinamis yang memulai hitung mundur sejak diambil (dan ulang setelah 45 detik - saya kira jika Anda belum mengklik dalam 45 detik, Anda mungkin sudah menutup email).
Lionel Rowe

Jawaban:

49

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

Klien lama , seperti Lotus Notes, Mozilla Thunderbird, Outlook Express, dan Windows Live Mail semuanya tampaknya telah mendukung semacam eksekusi JavaScript. Tidak ada yang lain.

Sepertinya ide yang buruk untuk keamanan, jadi saya berharap ini menjadi fitur yang tidak akan selalu ada, bahkan pada klien ini.

MatthewMartin
sumber
9
"Lotus Notes, Mozilla Thunderbird, Outlook Express, dan Windows Live Mail semuanya tampaknya mendukung semacam eksekusi JavaScript" - Dalam skrip templat pesan, bukan dalam email yang diterima.
Quentin
2
Wow, klien-klien ini sekarang sudah sangat tua tautannya tentang bagaimana mereka berperilaku sekarat, saya tidak dapat mengkonfirmasi atau menyangkal semua itu. Enam tahun kemudian, saya akan terkejut jika ada satu klien email yang masih digunakan yang memiliki segala jenis eksekusi skrip yang diaktifkan dengan sengaja.
MatthewMartin
18

Tidak, umumnya pembaca email tidak mengizinkan javascript.

jsight
sumber
2
bagaimana dengan gmail di browser chrome?
Nicolas S.Xu
1
@ NicolasS.Xu Gmail menghapus JavaScript dari surat sebelum menyerahkannya ke browser. Jadi JS tidak berfungsi. Saya menguji Gmail di Firefox 56 dan Chrome 61. Juga memeriksa kode di alat webmaster, kode JS dihapus.
Christopher K.
18

Penjawab lain menyarankan bahwa jawabannya adalah "Tidak."

Di sisi lain, lampiran html mungkin akan dibuka di lingkungan yang menjalankan Javascript.

EDIT: Disarankan agar saya belum menjawab pertanyaan dengan baik, jadi inilah upaya yang lebih lengkap.

Rangkuman: Saya berharap banyak atau sebagian besar pengguna yang menerima email berformat html yang berisi Javascript tertanam akan melihatnya berjalan dan telah menjalankan tes untuk mengonfirmasi bahwa ini benar di beberapa lingkungan. Tetapi Javascript AKAN diblokir untuk beberapa pengguna.

Protokol (khususnya RFC2854) secara eksplisit membahas skrip (dalam tipe badan pesan teks / html) dengan pernyataan bahwa:

Selain itu, pengenalan bahasa scripting dan kemampuan interaktif dalam HTML 4.0 memperkenalkan sejumlah risiko keamanan yang terkait dengan eksekusi otomatis dari program yang ditulis oleh pengirim tetapi ditafsirkan oleh penerima. Agen pengguna yang menjalankan skrip atau program seperti itu harus sangat berhati-hati untuk memastikan bahwa perangkat lunak yang tidak dipercaya dijalankan dalam lingkungan yang dilindungi.

Jadi protokol mendukung Javascript, tetapi agen pengguna mana yang melakukannya?

Pembaca email saya (kuno) menggunakan tabel untuk menentukan perangkat lunak penampil mana yang akan digunakan untuk setiap mimetype, mengalihkan konten html ke browser web favorit saya. Hampir semua browser web saat ini mendukung Javascript (dan beberapa mengeluarkan peringatan mengerikan ketika Anda mencoba untuk mematikannya!) Apakah agen email modern menyertakan penerjemah html internal dan, jika ya, apakah javascript dihidupkan atau dimatikan? Saya telah memeriksa dokumentasi Thunderbird dan menemukan bahwa javascript tampaknya dihidupkan secara default tetapi dapat dimatikan: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160

Saya perhatikan bahwa beberapa (? Banyak?) Pengguna sekarang mengakses email mereka dari browser secara langsung (webmail adalah salah satu platform seperti itu) daripada menjalankan perangkat lunak email terpisah. Semua platform yang telah saya uji sejauh ini menjalankan Javascript apa pun yang tertanam dalam html pesan email. Namun beberapa lingkungan seperti itu, tergantung pada pengaturan keamanan pengguna, tidak secara otomatis mengambil tautan eksternal (Javascript atau gambar atau lainnya) sehingga hanya dapat menjalankan Javascript eksternal dari file yang disertakan sebagai lampiran pada pesan tersebut. Hal yang sama berlaku untuk setiap pembaca email offline di perangkat tanpa koneksi internet saat ini.

Hal di atas berlaku untuk javascript yang disematkan di bagian pesan utama badan email. Satu juga dapat memiliki html secara eksplisit diberikan sebagai "lampiran", yang jika disimpan dan kemudian dibuka akan ditampilkan di browser web, di mana Javascript tersedia dengan kemungkinan sangat tinggi. Oleh karena itu, orang mungkin menyertakan salinan kedua email yang didukung javascript sebagai lampiran html dengan teks alternatif / badan utama polos dan / atau tag dalam teks utama / html yang mengarahkan pengguna ke lampiran.

Saya telah memikirkan hal ini karena beberapa kenalan saya bersikeras mengirimkan saya "kartu ucapan email" yang terdiri dari pesan teks yang mengarahkan saya ke sebuah tautan yang saya temukan sangat tidak memuaskan sehingga saya menolak untuk bahkan mempertimbangkan memuatnya hanya berdasarkan prinsip. . Saya telah menulis dan mengirim kartu ucapan email dengan grafik dan musik interaktif dan bahkan game menggunakan javascript tertanam dan puas dengan hasilnya.

Oleh karena itu, saya berpendapat bahwa jawaban yang benar adalah "Ya" baik dengan alasan protokol khusus membahas skrip dan dengan alasan bahwa semua agen email yang saya gunakan secara pribadi menjalankan Javascript di email pengujian saya.

Robert Morewood
sumber
2
Anda tidak memberikan daftar klien yang konkret tempat Anda menguji JS dan dengan kode JS mana. Saya memeriksa Thunderbird 52.4.0 dengan pengaturan "HTML Asli", dan itu mengabaikan JS <script> document.write('test'); </script>di email pengujian saya. Sama untuk Outlook untuk Android 2.2.44, K-9 untuk Android 5.208, Gmail webmailer (diuji 06.11.2017) dan Roundcube webmailer 0.9.5. Jadi saya akan setuju dengan mereka yang mengatakan itu tidak bekerja di sebagian besar klien (modern). Memang benar bahwa sebagian besar pengguna menggunakan webmailer, tetapi untuk alasan yang baik, ini tampaknya menghapus JS dari pesan sebelum menyerahkannya ke browser.
Christopher K.
1
Karena tautan Anda ke "dokumentasi" Thunderbird sama sekali bukan dokumentasi melainkan merujuk pada beberapa pertanyaan yang dikontribusikan pengguna, saya mencari beberapa dokumentasi resmi dan menemukan ini: developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Releases / 3 - Dikatakan JS dalam email dijatuhkan di Thunderbird 3.
Christopher K.
14

Jawaban singkat

Tidak


Jawaban deskriptif

Tergantung. Tetapi email tidak dijamin berperilaku seperti yang Anda inginkan. Klien email yang berbeda menangani JS secara berbeda. Sebagian besar klien email yang lebih baru tidak mendukungnya karena berpotensi sangat berbahaya untuk mendukung eksekusi skrip dalam aplikasi desktop yang berisi begitu banyak informasi pribadi Anda.

Saya memiliki kasus penggunaan di mana saya perlu menggunakan JS dalam email. Saya mencoba klien web dari outlook dan klien desktop, dan ternyata outlook hanya menghapus bagian skrip dari email HTML Anda. Mungkin ada beberapa klien email lain yang mendukung eksekusi JS, tetapi mengingat bahwa Anda tidak dapat mengontrol klien di mana email Anda akan dilihat di mesin klien, itu bukan ide yang baik untuk menanamkan skrip apa pun dalam email HTML.

Disarankan untuk menjaga email HTML Anda sesederhana mungkin, tanpa JS, dan paling sedikit CSS yang dapat Anda lakukan dengan (karena, sekali lagi, klien email yang berbeda memiliki dukungan yang berbeda untuk CSS juga) misalnya: klien web outlook bahkan tidak mengenali HTML tag tombol di email. Saya harus menggunakan tag jangkar dan beberapa CSS di atasnya untuk meniru tampilan tombol.


Intinya - jangan mengandalkan Javascript saat bekerja dengan konten email HTML.

Ketan R
sumber
4

Anda tidak akan mendapatkan JavaScript yang dapat dieksekusi ke server dan ke klien email. Tapi email DO mendukung tautan, Anda selalu dapat menautkan ke konten Anda dalam email.

Sam152
sumber
3

Untuk sebagian besar klien surat, tidak.

Mervyn
sumber
2

Mungkin saja, tetapi klien email tidak akan membacanya & server email mungkin menolaknya. Jadi tinggalkan saja.

Ed B
sumber
1

Javascript tidak didukung di email.

Neil Knight
sumber
2
Itu tidak benar. Setidaknya Outlook dan Outlook Express mendukung Javascript, yang merupakan salah satu dari banyak alasan untuk menghindarinya (untuk alasan keamanan).
PauliL
1
@ PauliL: Itu tergantung jika pengaturan zona Situs Terbatas Anda mengizinkannya.
Neil Knight
0

Anda dapat melihat email dengan JavaScript yang berfungsi dengan Windows Live Mail, tetapi tidak dapat menambahkan JavaScript ke email baru yang ingin Anda kirim. JavaScript juga berfungsi dengan file .eml yang disimpan. Mozilla Thunderbird versi 60.7.0 tidak dapat melihat atau menambahkan JavaScript. (Jika Anda menyimpan file eml dengan Thunderbird, kode akan berfungsi jika file kemudian dimuat dengan Live Mail) Anda dapat mengirim email dengan JavaScript menggunakan kode PHP. Beberapa situs web email mungkin mendukungnya, tetapi beberapa yang saya gunakan tidak. (AOL, uk2.net, GMail)

Mark Antony Agius
sumber