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

如何用JavaScript打开Gmail空白邮件并填充表单收集的内容?

问题描述

我有一个收集评论和邮箱地址的表单,通过JavaScript实现发送功能:用户输入评论(变量note7),并指定收件邮箱地址(变量emailAddress)。但当前代码只能调用系统默认邮件客户端,我需要修改代码,让它直接打开Gmail的写信窗口,并自动填充收件邮箱、主题和评论内容。

原代码如下:

var player = GetPlayer();
var emailAddress = player.GetVar("emailAddress");
var note7 = player.GetVar("note7");

var subject = "Journal Notes";
var emailBody = note7
var mailto_link = 'mailto:' + emailAddress + '?subject=' + subject + '&body=' + encodeURIComponent(emailBody);
win = window.open(mailto_link, 'emailWin'); 
修改后的代码与说明

要直接打开Gmail并自动填充内容,需要使用Gmail官方的写信URL格式,而非mailto:协议。修改后的代码如下:

var player = GetPlayer();
var emailAddress = player.GetVar("emailAddress");
var note7 = player.GetVar("note7");

var subject = "Journal Notes";
var emailBody = note7;

// 构造Gmail写信URL,参数对应收件人、主题、内容
var gmailUrl = 'https://mail.google.com/mail/u/0/?view=cm&fs=1' +
               '&to=' + encodeURIComponent(emailAddress) +
               '&su=' + encodeURIComponent(subject) +
               '&body=' + encodeURIComponent(emailBody);

// 打开Gmail写信窗口
win = window.open(gmailUrl, 'emailWin', 'width=800,height=600');

关键说明

  • Gmail的写信URL通过view=cm指定创建新邮件,fs=1表示启用全屏模式(可选参数)
  • 参数对应关系:to为收件邮箱,su为邮件主题,body为邮件内容
  • 所有参数都用encodeURIComponent编码,避免空格、换行等特殊字符导致URL失效
  • 可通过window.open的第三个参数自定义新窗口尺寸,优化用户体验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:12:12