电子邮件为什么只能植入 html 而不支持运行 js 脚本

2023-08-09 21:43:29 +08:00
 ljiaming19
这样电子邮件可以实现很多功能 为什么 Email 发明到现在都只能用 html 实现基本的排版但是不支持 js 脚本
2810 次点击
所在节点    程序员
15 条回复
xmoer
2023-08-09 21:57:35 +08:00
肯定是为了安全性啊。我记得诸如百度快照、谷歌快照,也都是会屏蔽 js 代码的。
USDT
2023-08-09 21:57:59 +08:00
浏览器上的 js 为什么只能写 localStorage 而不支持 fopen 这样的读取文件

这样一个网页就可以实现很多功能,而不需要 electron 这种冗杂的框架了,为什么浏览器发明到现在都还不支持 fopen ?
wolong
2023-08-09 22:05:24 +08:00
电子邮件不需要实现太多的功能啊,显示基本的文字图片就够了,需要更多功能的话,给个链接就行了。
bojackhorseman
2023-08-09 22:06:05 +08:00
而且邮件基本都用的 table 布局,为了最大的兼容性
comi
2023-08-09 22:06:43 +08:00
js 可以做的事情太多,很多事情会影响到收件人的计算机安全。
lhbc
2023-08-09 22:09:43 +08:00
安全
Vegetable
2023-08-09 22:13:37 +08:00
是的,您可以发送一封带有<script>标签的 HTML 电子邮件。不过,需要注意其中的潜在限制和安全考虑。

在发送包含<script>标签的 HTML 电子邮件时,请记住以下几点:

邮件客户端和安全性:出于安全原因,许多邮件客户端禁用或阻止 JavaScript 的执行。这意味着接收者打开邮件时可能不会执行<script>标签中的代码。因此,您包含的任何 JavaScript 功能可能无法正常工作。

内联 JavaScript:一些邮件客户端可能会剥离或修改电子邮件内容中的<script>标签。为了最大限度地提高兼容性,通常建议避免在 HTML 电子邮件中使用内联 JavaScript 。

外部资源:如果您的<script>标签引用外部 JavaScript 文件(例如,托管在 CDN 上),请确保这些资源可访问,并且不违反邮件客户端或接收者网络的任何安全策略。

CSS 和样式:HTML 电子邮件通常依赖 CSS 进行样式设置。请确保使用内联样式或嵌入式 CSS ,以确保在不同的邮件客户端中呈现一致。

总结起来,虽然可以在 HTML 电子邮件中包含<script>标签,但 JavaScript 功能在所有邮件客户端中可能无法可靠地工作。建议主要使用 HTML 和 CSS 来组织和样式化电子邮件内容,而不是过度依赖 JavaScript 。
Track13
2023-08-09 22:15:53 +08:00
往邮件的 html 里晒一张 1 像素的透明图用来统计是否已读都不能接受,要是能运行 js 不得去服务商楼下举牌子了。
x77
2023-08-09 22:29:05 +08:00
除了安全因素之外,邮件的初衷是通讯而不是内容展示吧,邮件不需要在内容展示的维度上做太多的支持
yin1999
2023-08-10 07:59:26 +08:00
NessajCN
2023-08-10 08:34:58 +08:00
支持 js 运行是客户端的事情,跟邮件服务商没有关系,email 也只负责传递内容不负责你收到内容后如何处理
你完全可以自己写一个邮件客户端,自动执行 js 代码
xyholic
2023-08-10 09:18:16 +08:00
xss,csrf
XiLingHost
2023-08-10 11:38:55 +08:00
主要是邮件客户端不支持,甚至很多客户端只有纯文本展示
HaroldFinchNYC
2023-08-10 12:35:56 +08:00
email 是文本,至于你怎么解析文本,是另外一件事

至于为何不支持 js
大家都说了,主要原因肯定是安全

不支持 js 都有这么多病毒和垃圾邮件,要是能支持 js ,岂不是更要命
wushenlun
2023-08-10 19:26:13 +08:00
我连图片都不想要,不怕被追踪吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/963881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX