V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ljiaming19
V2EX  ›  程序员

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

  •  
  •   ljiaming19 · 2023-08-09 21:43:29 +08:00 · 2895 次点击
    这是一个创建于 502 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这样电子邮件可以实现很多功能 为什么 Email 发明到现在都只能用 html 实现基本的排版但是不支持 js 脚本
    15 条回复    2023-08-10 19:26:13 +08:00
    xmoer
        1
    xmoer  
       2023-08-09 21:57:35 +08:00
    肯定是为了安全性啊。我记得诸如百度快照、谷歌快照,也都是会屏蔽 js 代码的。
    USDT
        2
    USDT  
       2023-08-09 21:57:59 +08:00
    浏览器上的 js 为什么只能写 localStorage 而不支持 fopen 这样的读取文件

    这样一个网页就可以实现很多功能,而不需要 electron 这种冗杂的框架了,为什么浏览器发明到现在都还不支持 fopen ?
    wolong
        3
    wolong  
       2023-08-09 22:05:24 +08:00   ❤️ 1
    电子邮件不需要实现太多的功能啊,显示基本的文字图片就够了,需要更多功能的话,给个链接就行了。
    bojackhorseman
        4
    bojackhorseman  
       2023-08-09 22:06:05 +08:00 via iPhone   ❤️ 2
    而且邮件基本都用的 table 布局,为了最大的兼容性
    comi
        5
    comi  
       2023-08-09 22:06:43 +08:00
    js 可以做的事情太多,很多事情会影响到收件人的计算机安全。
    lhbc
        6
    lhbc  
       2023-08-09 22:09:43 +08:00 via Android
    安全
    Vegetable
        7
    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
        8
    Track13  
       2023-08-09 22:15:53 +08:00 via Android   ❤️ 2
    往邮件的 html 里晒一张 1 像素的透明图用来统计是否已读都不能接受,要是能运行 js 不得去服务商楼下举牌子了。
    x77
        9
    x77  
       2023-08-09 22:29:05 +08:00 via Android   ❤️ 1
    除了安全因素之外,邮件的初衷是通讯而不是内容展示吧,邮件不需要在内容展示的维度上做太多的支持
    yin1999
        10
    yin1999  
       2023-08-10 07:59:26 +08:00 via Android
    NessajCN
        11
    NessajCN  
       2023-08-10 08:34:58 +08:00   ❤️ 1
    支持 js 运行是客户端的事情,跟邮件服务商没有关系,email 也只负责传递内容不负责你收到内容后如何处理
    你完全可以自己写一个邮件客户端,自动执行 js 代码
    xyholic
        12
    xyholic  
       2023-08-10 09:18:16 +08:00
    xss,csrf
    XiLingHost
        13
    XiLingHost  
       2023-08-10 11:38:55 +08:00
    主要是邮件客户端不支持,甚至很多客户端只有纯文本展示
    HaroldFinchNYC
        14
    HaroldFinchNYC  
       2023-08-10 12:35:56 +08:00
    email 是文本,至于你怎么解析文本,是另外一件事

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

    不支持 js 都有这么多病毒和垃圾邮件,要是能支持 js ,岂不是更要命
    wushenlun
        15
    wushenlun  
       2023-08-10 19:26:13 +08:00 via Android
    我连图片都不想要,不怕被追踪吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.