O JavaScript é suportado em uma mensagem de email?
O JavaScript é suportado em uma mensagem de email?
Respostas:
http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients
Clientes antigos , como Lotus Notes, Mozilla Thunderbird, Outlook Express e Windows Live Mail, parecem ter suportado algum tipo de execução JavaScript. Nada mais faz.
Parece uma péssima idéia em termos de segurança, então eu esperaria que esse fosse um recurso que nem sempre existisse, mesmo nesses clientes.
Não, geralmente os leitores de email não permitem javascript.
Outros respondentes sugeriram que a resposta é "Não".
Por outro lado, um anexo html provavelmente será aberto em um ambiente que executa Javascript.
EDIT: Foi sugerido que eu não respondi corretamente à pergunta, então aqui vai um esforço mais completo.
Resumo: Eu esperaria que muitos ou a maioria dos usuários que recebem um email formatado em html contendo Javascript incorporado o veja executar e executou testes para confirmar se isso é verdade em alguns ambientes. Mas o Javascript será bloqueado para alguns usuários.
Os protocolos (especificamente o RFC2854) abordam explicitamente os scripts (dentro do tipo de corpo da mensagem de texto / html) com a declaração de que:
Além disso, a introdução de linguagens de script e recursos interativos no HTML 4.0 introduziu vários riscos à segurança associados à execução automática de programas escritos pelo remetente, mas interpretados pelo destinatário. Os agentes de usuário que executam esses scripts ou programas devem ser extremamente cuidadosos para garantir que o software não confiável seja executado em um ambiente protegido.
Portanto, os protocolos suportam Javascript, mas quais agentes de usuários?
Meu leitor de e-mail (antigo) usa uma tabela para especificar qual software visualizador usar para cada tipo de tipo, desviando o conteúdo html para o meu navegador favorito. Quase todos os navegadores da web atuais suportam Javascript (e alguns emitem avisos terríveis quando você tenta desativá-lo!) Os agentes de email modernos incluem intérpretes html internos e, se houver, o javascript está ativado ou desativado? Verifiquei a documentação no Thunderbird e descobri que o javascript parece estar ativado por padrão, mas pode ser desativado: http://codeverge.com/mozilla.support.thunderbird/simple-html-tags-reference-docume/2030160
Percebi que alguns (? Muitos?) Usuários agora acessam seus emails diretamente de um navegador (o webmail é uma dessas plataformas), em vez de executar um software de email separado. Todas essas plataformas que testei até agora executam qualquer Javascript incorporado no html da mensagem de email. No entanto, alguns desses ambientes, dependendo das configurações de segurança do usuário, não buscam automaticamente links externos (Javascript, imagens ou outros) e, portanto, só podem executar Javascript externo a partir de um arquivo incluído como anexo à mensagem. O mesmo seria válido para qualquer leitor de email offline em um dispositivo sem uma conexão atual com a Internet.
O acima se aplica ao javascript incorporado na parte principal da mensagem do corpo do email. Também se pode ter o html explicitamente fornecido como um "anexo", que, se salvo e aberto, seria exibido em um navegador da web, em que o Javascript está disponível com uma probabilidade muito alta. Portanto, pode-se incluir uma segunda cópia do email habilitado para javascript como um anexo html com um texto alternativo / corpo principal simples e / ou tag no texto principal / html direcionando o usuário ao anexo.
Eu estive pensando sobre isso porque alguns de meus conhecidos insistem em me enviar "cartões de felicitações por e-mail", que consistem em uma mensagem de texto que me direciona para um link que achei tão insatisfatório que me recuso a sequer considerar carregá-lo apenas por princípio . Escrevi e enviei cartões de felicitações por e-mail com gráficos e músicas interativos e até jogos usando javascript incorporado e fiquei satisfeito com o resultado.
Portanto, afirmo que a resposta correta é "Sim", tanto pelo fato de os protocolos abordarem especificamente os scripts quanto pelo fato de que todos os agentes de email que eu pessoalmente uso executaram o Javascript nos meus emails de teste.
<script> document.write('test'); </script>
nos meus e-mails de teste. O mesmo para o Outlook para Android 2.2.44, K-9 para Android 5.208, Gmail webmailer (testado em 06.11.2017) e Roundcube webmailer 0.9.5. Então, eu concordo com aqueles que dizem que não funciona na maioria dos clientes (modernos). É verdade que a maioria dos usuários usa webmailers, mas por um bom motivo, eles parecem remover o JS das mensagens antes de entregá-las ao navegador.
Não
Depende. Mas não é garantido que o email se comporte da maneira que você deseja. Clientes de email diferentes tratam JS de maneira diferente. A maioria dos clientes de email mais recentes não oferece suporte a nada, pois é potencialmente muito perigoso oferecer suporte à execução de scripts em um aplicativo de desktop que contém muitas informações pessoais.
Eu tinha um caso de uso em que precisava usar JS em um email. Experimentei também o cliente Web do Outlook e do Desktop, e o Outlook apenas apaga a parte do script do seu email em HTML. Pode haver algum outro cliente de email que suporte a execução JS, mas, como você não pode controlar o cliente onde seu email seria visualizado na máquina do cliente, não é uma boa ideia incorporar scripts no email em HTML.
É aconselhável manter o seu email em HTML o mais simples possível, sem JS e com o mínimo de CSS possível (porque, novamente, diferentes clientes de email também têm suporte variado para CSS), por exemplo: o cliente Web do outlook nem sequer reconhecia um HTML etiqueta de botão no email. Eu tive que usar uma tag de âncora e um pouco de CSS para imitar a exibição de um botão.
Conclusão - não confie no Javascript ao trabalhar com conteúdo de email em HTML.
Javascript não é suportado em emails.
Você pode visualizar um email com JavaScript trabalhando no Windows Live Mail, mas não pode adicionar JavaScript a um novo email que deseja enviar. JavaScript também funciona com arquivos .eml salvos. O Mozilla Thunderbird versão 60.7.0 não pode exibir ou adicionar JavaScript. (Se você salvar um arquivo eml com o Thunderbird, o código funcionará se o arquivo for carregado com o Live Mail) Você pode enviar um email com JavaScript usando o código PHP. Alguns sites de email podem dar suporte, mas os poucos que eu usei não. (AOL, uk2.net, GMail)