JavaScript è supportato in un messaggio di posta elettronica?


146

JavaScript è supportato in un messaggio di posta elettronica?


38
Questo non merita un -1
kikito il

1
Il programma di posta elettronica di destinazione è Outlook? Thunderbird? GMail? Hotmail? Tutti i precedenti? Altri? Diversi programmi di posta elettronica visualizzano i messaggi in modo diverso.
WonderWorker,

1
Ho appena visto che i ragazzi del rockettheme stanno facendo un conto alla rovescia, quindi giorni ore minuti e secondi e anche la grafica si sta animando ... cosa incredibile è possibile ora. Non so in che altro modo potrebbero farlo. Osservato nel client di posta mac.
Atterrato il

2
Ho trovato un dominio e ho ottenuto questo - motionmailapp.com
sbarcato il

3
@landed Ho appena visto la stessa cosa in un'email di WordPress. Si scopre che è semplicemente una GIF generata dinamicamente che inizia il conto alla rovescia da quando viene recuperata (e si ripristina dopo 45 secondi - suppongo che se non hai cliccato entro 45 secondi, probabilmente hai già chiuso l'e-mail).
Lionel Rowe

Risposte:


49

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.


9
"Lotus Notes, Mozilla Thunderbird, Outlook Express e Windows Live Mail sembrano supportare una sorta di esecuzione JavaScript" - Negli script dei modelli di messaggio, non nelle e-mail ricevute.
Quentin,

2
Wow, questi client ora sono così vecchi che i collegamenti su come si comportavano si stanno estinguendo, non posso confermarli o negarli. Sei anni dopo, sarei sorpreso se c'è ancora un singolo client di posta elettronica che ha abilitato l'esecuzione di uno script appositamente.
Matthew Martedì

18

No, in generale i lettori di e-mail non consentono javascript.


2
che ne dici di gmail nel browser Chrome?
Nicolas S.Xu,

1
@ NicolasS.Xu Gmail rimuove il JavaScript dalla posta prima di passarlo al browser. Quindi JS non funziona. Ho testato Gmail in Firefox 56 e Chrome 61. Ho anche controllato il codice negli strumenti per i webmaster, il codice JS è stato rimosso.
Christopher K.,

18

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.


2
Non fornisci alcun elenco concreto di client in cui hai testato JS con successo e con quale codice JS. Ho controllato Thunderbird 52.4.0 con l'impostazione "HTML originale" e ho ignorato il JS <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.
Christopher K.,

1
Dato che il tuo link alla "documentazione" di Thunderbird non è affatto documentazione ma si riferisce ad alcune domande fornite dagli utenti, ho cercato della documentazione ufficiale e ho trovato questo: developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Releases / 3 - Dice che JS nelle e-mail è stato eliminato in Thunderbird 3.
Christopher K.,

14

Risposta breve

No


Risposta descrittiva

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.


4

Non avrai JavaScript eseguibile su un server e in un client di posta. Ma le e-mail NON supportano i collegamenti, puoi sempre collegarti ai tuoi contenuti in una e-mail.


3

Per la maggior parte dei client di posta, no.


2

Potrebbe essere, ma i client di posta non lo leggeranno e i server di posta potrebbero rifiutarlo. Quindi lascia perdere.


1

Javascript non è supportato nelle e-mail.


2
Quello non è vero. Almeno Outlook e Outlook Express supportano Javascript, che è uno dei tanti motivi per evitarli (per motivi di sicurezza).
PauliL,

1
@PauliL: dipende dal fatto che le impostazioni della tua zona con Siti limitati lo consentano.
Neil Knight,

0

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)


0

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>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.