Bir e-posta mesajında JavaScript destekleniyor mu?
Bir e-posta mesajında JavaScript destekleniyor mu?
Yanıtlar:
http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients
Lotus Notes, Mozilla Thunderbird, Outlook Express ve Windows Live Mail gibi eski istemcilerin bir çeşit JavaScript yürütülmesini desteklediği görülüyor. Başka bir şey yapmaz.
Güvenlik açısından kötü bir fikir gibi görünüyor, bu yüzden bu istemcilerde bile her zaman olmayacak bir özellik olmasını beklerdim.
Hayır, genel olarak konuşan e-posta okuyucuları javascript'e izin vermez.
Diğer cevaplar cevabın "Hayır" olduğunu öne sürdüler.
Öte yandan, bir html eki muhtemelen Javascript çalıştıran bir ortamda açılacaktır.
EDIT: Bu soruya düzgün cevap vermedi önerildi, bu yüzden burada daha kapsamlı bir çaba sarf.
Özet: Katıştırılmış Javascript içeren bir html formatlı e-posta alan birçok veya en çok kullanıcının çalıştığını görmesini ve bazı ortamlarda bunun doğru olduğunu onaylamak için testler yapmasını beklerim. Ancak Javascript bazı kullanıcılar için engellenecek.
Protokoller (özellikle RFC2854), komut dosyasını (metin / html ileti gövde türü içinde) aşağıdaki ifadeyle açıkça ele alır:
Ayrıca, HTML 4.0'da komut dosyası dillerinin ve etkileşimli özelliklerin tanıtılması, gönderen tarafından yazılan ancak alıcı tarafından yorumlanan programların otomatik yürütülmesi ile ilişkili bir dizi güvenlik riski getirmiştir. Bu tür komut dosyaları veya programlar yürüten kullanıcı aracıları, güvenilmeyen yazılımların korumalı bir ortamda yürütüldüğünden emin olmak için son derece dikkatli olmalıdır.
Protokoller Javascript'i destekliyor, ancak hangi kullanıcı aracıları destekliyor?
(Eski) e-posta okuyucum, her mime türü için hangi görüntüleyici yazılımının kullanılacağını belirtmek için bir tablo kullanır ve html içeriğini favori web tarayıcma yönlendirir. Neredeyse tüm mevcut web tarayıcıları Javascript'i destekler (ve kapatmaya çalıştığınızda bazı korkunç uyarılar çıkarır!) Modern e-posta aracıları dahili html yorumlayıcıları içerir mi ve varsa javascript açık mı kapalı mı? Thunderbird üzerindeki dokümanları kontrol ettim ve javascript'in varsayılan olarak açık gibi göründüğünü, ancak kapatılabileceğini buldum: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160
Bazı (? Çok?) Kullanıcıların artık e-postalarına ayrı bir e-posta yazılımı çalıştırmak yerine doğrudan bir tarayıcıdan (web postası böyle bir platformdur) eriştiklerini fark ettim. Şimdiye kadar test ettiğim tüm bu platformlar, e-posta iletisinin html'sinde gömülü olan herhangi bir Javascript çalıştırıyor. Bununla birlikte, kullanıcı güvenlik ayarlarına bağlı olarak bu tür ortamlar harici bağlantıları (Javascript veya resimler veya diğer) otomatik olarak getirmez ve bu nedenle harici Javascript'i yalnızca mesaja ek olarak dahil edilen bir dosyadan çalıştırabilir. Aynı durum, geçerli bir İnternet bağlantısı olmayan bir cihazdaki çevrimdışı e-posta okuyucuları için de geçerlidir.
Yukarıdakiler, e-posta gövdesinin ana mesaj kısmına gömülü javascript için geçerlidir. Bir html açıkça bir "ek" olarak verilebilir, ki bu kaydedilip açıldığında Javascript çok yüksek olasılıkla kullanılabilir bir web tarayıcısında görüntülenecektir. Bu nedenle, javascript etkinleştirilmiş e-postanın ikinci bir kopyası, kullanıcıyı eke yönlendiren ana metin / html'de alternatif bir metin / düz ana gövde ve / veya etiket içeren bir html eki olarak eklenebilir.
Bunu düşündüm çünkü bazı tanıdıklarım beni tatmin edici bulduğum bir bağlantıya yönlendiren bir metin mesajından oluşan "e-posta tebrik kartları" göndermede ısrar ediyor. . İnteraktif grafikler, müzik ve hatta gömülü javascript kullanarak oyunlar içeren e-posta tebrik kartları yazıp gönderdim ve sonuçtan memnun kaldım.
Bu nedenle, hem protokollerin özellikle komut dosyalarına hitap ettiği gerekçesiyle hem de kişisel olarak kullandığım tüm e-posta aracılarının test e-postalarımda Javascript çalıştırdığı gerekçesiyle doğru cevabın "Evet" olduğunu iddia ediyorum.
<script> document.write('test'); </script>
test e-postalarımdaki JS'yi yok saydı . Android 2.2.44 için Outlook, Android 5.208 için K-9, Gmail webmailer (test edilen 06.11.2017) ve Roundcube webmailer 0.9.5 için aynıdır. Bu yüzden, çoğu (modern) müşteride işe yaramadığını söyleyenlere katılıyorum. Çoğu kullanıcının web postacıları kullandığı doğrudur, ancak iyi bir nedenden dolayı, bunlar JS'yi tarayıcıya teslim etmeden önce mesajların dışına çıkarmaktadır.
Hayır
Değişir. Ancak e-postanın istediğiniz şekilde davrandığı garanti edilmez. Farklı e-posta istemcileri JS'yi farklı şekilde işler. Yeni e-posta istemcilerinin çoğu bunu desteklemez, çünkü kişisel bilgilerinizin çoğunu içeren bir masaüstü uygulamasında komut dosyası yürütmeyi desteklemek çok tehlikelidir.
Bir e-posta JS kullanmak için gereken bir kullanım durum vardı. Outlook ve masaüstü istemcisinin web istemcisini de denedim ve görünüşe göre sadece HTML e-postanızın komut dosyası kısmını siliyor. JS yürütmesini destekleyen başka bir e-posta istemcisi olabilir, ancak istemciyi e-postanızın istemci makinesinde nerede görüneceğini kontrol edemediğiniz göz önüne alındığında, HTML e-postalarına herhangi bir komut dosyası gömmek iyi bir fikir değildir.
HTML e-postanızı olabildiğince basit tutmanız, JS yok ve yapabileceğiniz en az CSS'yi tutmanız önerilir (çünkü yine farklı e-posta istemcileri CSS için de çeşitli desteklere sahiptir) örn: outlook'un web istemcisi bir HTML'yi bile tanımıyordu e-postadaki düğme etiketi. Bir düğmenin görüntüsünü taklit etmek için üstte bir çapa etiketi ve bazı CSS kullanmak zorunda kaldım.
Alt satır - HTML e-posta içeriğiyle çalışırken Javascript'e güvenmeyin.
Javascript e-postalarda desteklenmez.
Windows Live Mail ile çalışan JavaScript içeren bir e-postayı görüntüleyebilirsiniz, ancak göndermek istediğiniz yeni e-postaya JavaScript ekleyemezsiniz. JavaScript kaydedilmiş .eml dosyalarıyla da çalışır. Mozilla Thunderbird sürüm 60.7.0, JavaScript görüntüleyemiyor veya ekleyemiyor. (Thunderbird ile bir eml dosyası kaydederseniz, dosya Live Mail ile yüklüyse kod çalışır) PHP kodunu kullanarak JavaScript ile bir e-posta gönderebilirsiniz. Bazı e-posta web siteleri bunu destekleyebilir, ancak kullandığım birkaç kişi desteklemiyor. (AOL, uk2.net, GMail)
Güvenlik kaygısı nedeniyle e-posta istemcisi destek javascript'i yok
Bu html içeriğiyle posta göndermeyi deneyin
<!DOCTYPE html>
<html>
<body>
<button onclick="this.innerHTML=Date()">The time is?</button>
</body>
</html>