JavaScript è supportato in un messaggio di posta elettronica?
JavaScript è supportato in un messaggio di posta elettronica?
Risposte:
http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients
I vecchi client come Lotus Notes, Mozilla Thunderbird, Outlook Express e Windows Live Mail sembrano aver supportato una sorta di esecuzione JavaScript. Nient'altro lo fa.
Sembra una cattiva idea in termini di sicurezza, quindi mi aspetto che questa sia una caratteristica che non sarà sempre presente, anche in questi client.
No, in generale i lettori di e-mail non consentono javascript.
Altri rispondenti hanno suggerito che la risposta è "No".
D'altra parte, un allegato HTML verrà probabilmente aperto in un ambiente che esegue Javascript.
EDIT: Mi è stato suggerito di non aver risposto correttamente alla domanda, quindi ecco uno sforzo più completo.
Riepilogo: mi aspetto che molti o la maggior parte degli utenti che ricevono un'e-mail in formato html contenente Javascript incorporato lo vedano in esecuzione e abbiano eseguito test per confermare che ciò è vero in alcuni ambienti. Ma Javascript sarà bloccato per alcuni utenti.
I protocolli (in particolare RFC2854) indirizzano esplicitamente gli script (all'interno del tipo di corpo del messaggio text / html) con l'affermazione che:
Inoltre, l'introduzione di linguaggi di scripting e funzionalità interattive in HTML 4.0 ha introdotto una serie di rischi per la sicurezza associati all'esecuzione automatica di programmi scritti dal mittente ma interpretati dal destinatario. Gli interpreti che eseguono tali script o programmi devono essere estremamente attenti a garantire che il software non attendibile venga eseguito in un ambiente protetto.
Quindi i protocolli supportano Javascript, ma quali agenti utente fanno?
Il mio (antico) lettore di e-mail utilizza una tabella per specificare quale software visualizzatore utilizzare per ogni mimetype, deviando il contenuto html sul mio browser Web preferito. Quasi tutti gli attuali browser Web supportano Javascript (e alcuni emettono avvisi terribili quando si tenta di disattivarlo!) I moderni agenti di posta elettronica includono interpreti HTML interni e, in tal caso, il javascript è attivato o disattivato? Ho controllato la documentazione su Thunderbird e ho scoperto che JavaScript sembra essere attivato per impostazione predefinita, ma può essere disattivato: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160
Ho notato che alcuni (? Molti?) Utenti ora accedono direttamente alla loro e-mail da un browser (la webmail è una di queste piattaforme) anziché eseguire un software di posta elettronica separato. Tutte queste piattaforme che ho testato finora eseguono qualsiasi Javascript incorporato nell'html del messaggio di posta elettronica. Tuttavia, alcuni di questi ambienti, a seconda delle impostazioni di sicurezza dell'utente, non recuperano automaticamente collegamenti esterni (Javascript o immagini o altro) e quindi possono eseguire Javascript esterni solo da un file incluso come allegato al messaggio. Lo stesso vale per qualsiasi lettore di e-mail offline su un dispositivo senza una connessione Internet corrente.
Quanto sopra si applica a javascript incorporato nella parte principale del messaggio del corpo dell'email. Si può anche avere HTML espressamente indicato come un "allegato", che se salvato e quindi aperto sarebbe visualizzato in un browser Web, in cui Javascript è disponibile con probabilità molto alta. Pertanto, si potrebbe includere una seconda copia dell'e-mail abilitata javascript come allegato html con un testo alternativo / corpo principale semplice e / o tag nel testo principale / html che indirizza l'utente all'allegato.
Ci ho pensato perché alcuni dei miei conoscenti insistono nell'inviarmi "biglietti d'auguri per e-mail" che consistono in un messaggio di testo che mi dirige verso un collegamento che ho trovato così insoddisfacente che mi rifiuto di considerare di caricarlo solo per principio . Ho scritto e inviato e-mail di auguri con grafica e musica interattive e persino giochi usando JavaScript incorporato e sono stato soddisfatto del risultato.
Pertanto, ritengo che la risposta corretta sia "Sì" sia per il fatto che i protocolli riguardano specificamente lo scripting sia per il fatto che tutti gli agenti di posta elettronica che utilizzo personalmente eseguivano Javascript nelle mie e-mail di prova.
<script> document.write('test'); </script>
nelle mie e-mail di prova. Lo stesso vale per Outlook per Android 2.2.44, K-9 per Android 5.208, Gmail webmailer (testato il 06.11.2017) e Roundcube webmailer 0.9.5. Quindi sarei d'accordo con quelli che dicono che non funziona nella maggior parte dei clienti (moderni). È vero che la maggior parte degli utenti utilizza i webmailer, ma per una buona ragione, questi sembrano eliminare JS dai messaggi prima di consegnarli al browser.
No
Dipende. Ma l'e-mail non è garantita per comportarsi nel modo desiderato. Diversi client di posta elettronica gestiscono JS in modo diverso. La maggior parte dei client di posta elettronica più recenti non ne supporta nessuno poiché è potenzialmente molto pericoloso supportare l'esecuzione di script in un'applicazione desktop che contiene così tante informazioni personali.
Ho avuto un caso d'uso in cui dovevo usare JS in una e-mail. Ho provato anche sul client Web di Outlook e client desktop, e si è scoperto che Outlook cancella solo la parte di script della tua email HTML. Potrebbe esserci qualche altro client di posta elettronica che supporta l'esecuzione di JS, ma dato che non è possibile controllare il client in cui la posta elettronica verrà visualizzata nel computer client, non è una buona idea incorporare eventuali script nell'e-mail HTML.
Si consiglia di mantenere la tua e-mail HTML il più semplice possibile, senza JS e il minimo CSS che puoi fare (perché, ancora una volta, diversi client di posta elettronica hanno un supporto variabile anche per i CSS) ad esempio: il client Web di Outlook non riconosceva nemmeno un HTML tag pulsante nell'email. Ho dovuto usare un tag di ancoraggio e alcuni CSS per simulare la visualizzazione di un pulsante.
In conclusione: non fare affidamento su Javascript quando si lavora con contenuti di posta elettronica HTML.
Javascript non è supportato nelle e-mail.
Puoi visualizzare un'e-mail con JavaScript funzionante con Windows Live Mail, ma non puoi aggiungere JavaScript a una nuova e-mail che desideri inviare. JavaScript funziona anche con file .eml salvati. Mozilla Thunderbird versione 60.7.0 non può visualizzare o aggiungere JavaScript. (Se si salva un file eml con Thunderbird, il codice funzionerà se il file viene quindi caricato con Live Mail) È possibile inviare un'e-mail con JavaScript utilizzando il codice PHP. Alcuni siti Web di posta elettronica potrebbero supportarlo, ma i pochi che ho usato non lo fanno. (AOL, uk2.net, GMail)
Nessun client di posta elettronica supporta javascript a causa di problemi di sicurezza
Prova a inviare posta con questo contenuto html
<!DOCTYPE html>
<html>
<body>
<button onclick="this.innerHTML=Date()">The time is?</button>
</body>
</html>