You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非程序员如何修改含SendQueryData函数的表单,将数据发送至我的邮箱?

表单数据推送至个人邮箱的落地修改方案

关键前提

纯前端页面代码不具备直接把表单数据发送到指定邮箱的能力。所有尝试在前端直接对接发信服务的方案,都会暴露邮箱发信密钥、触发浏览器跨域拦截,本质是不可靠的临时方案。你不需要完全理解现有代码的运行逻辑,只需要按步骤替换指定位置的提交逻辑即可,全程不需要编写复杂后端代码。

分步操作

  • 先备份现有所有JS脚本文件
    改代码前把当前页面用到的两部分脚本(轮播初始化、Cookie计数的jQuery逻辑,SendQueryData函数逻辑)整份复制存成备份文件,万一修改出错可以直接还原。其中轮播、Cookie计数的逻辑和表单提交完全独立,全程不需要改动,只需要动SendQueryData函数里的提交部分。
  • 定位需要修改的代码块
    打开SendQueryData()函数的代码位置,找到以下两个部分:
    1. 所有负责字段格式校验(姓名、手机号、邮箱、留言规则判断)的代码,全部保留不动
    2. 校验通过后调用setProjectQueryData的提交代码,以及后续清空表单、弹出自动关闭感谢弹窗的代码,其中弹窗和清表单的逻辑全部保留,仅把调用setProjectQueryData的那几行代码前面加//注释,让原有旧的提交逻辑暂时不运行
      参考代码结构:
    function SendQueryData() {
      // 原有格式校验代码 全程保留
      // ...
      // 原有提交逻辑,注释掉停用
      // setProjectQueryData(你之前收集的所有表单字段值);
      // 原有清表单、弹感谢窗代码 全程保留
      // ...
    }
    
  • 配置表单邮件转发通道
    选择支持免费额度的无代码表单转发服务,不需要写后端接口:
    1. 在服务后台绑定你要接收数据的个人邮箱,完成邮箱所有权验证,拿到服务分配的专属POST提交接口地址
    2. 把刚才注释掉的setProjectQueryData位置,替换成调用这个接口的提交代码,直接复用你原来代码里已经拿到的表单字段变量,不需要重新写获取表单值的逻辑:
    // 替换为你自己拿到的专属提交接口地址
    fetch("专属接口地址", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      // 下面的字段值直接填你原来传给setProjectQueryData的对应变量即可
      body: JSON.stringify({
        姓名: 你代码里存的姓名字段变量,
        手机号: 你代码里存的手机号字段变量,
        联系邮箱: 你代码里存的邮箱字段变量,
        留言内容: 你代码里存的留言字段变量
      })
    })
    
  • 全流程测试
    修改完成后刷新网页,填写完整表单测试提交:
    1. 确认指定的个人邮箱能收到包含所有字段内容的邮件
    2. 确认原有的清空表单、自动关闭感谢弹窗的效果和修改前完全一致
    3. 确认页面上的轮播组件、访客Cookie计数功能运行正常

避坑提示

  • 绝对不要在前端JS代码里直接写邮箱发信的SMTP账号、授权密码,所有访问你网页的人都能直接在浏览器源代码里看到这些信息,轻则被刷垃圾邮件,重则账号被盗用
  • 不要用mailto:路径替代现有提交逻辑,这种方式会强制拉起用户本地的邮件客户端,无法实现后台自动提交、自动发信的效果
  • 如果提交后收不到邮件,优先检查接口地址有没有填错、邮箱有没有被拦截进垃圾邮件箱,不要随便改动已经能正常运行的校验、弹窗逻辑

内容的提问来源于stack exchange,提问作者yuvi707

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 07:06:07