javascript - 如何使回复电子邮件来自提交者(Google App Script)

标签 javascript forms google-apps-script

我有一个提交到电子表格的 Google 表单。然后我编写了这段代码,它发送一封包含结果的电子邮件。谁能告诉我如何让提交表单的人提交电子邮件?

函数初始化(){

var triggers = ScriptApp.getScriptTriggers();

for (var i in triggers) {
    ScriptApp.deleteTrigger(triggers[i]);
}

ScriptApp.newTrigger("SendConfirmationMail")
    .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
    .onFormSubmit()
    .create();

} 函数 SendConfirmationMail(e) {

try {
    var ss, cc, subject, columns;
    var message, value, textbody, sendername, sender;

    // This is my email address and I will be in the CC
    cc = e.namedValues["Username"].toString();

    // This will show up as the sender's name
    sendername = e.namedValues["Name"].toString();

    subject = "Ticket Submitted";

    message = "We have received your details.<br>Thanks!<br><br>";

    ss = SpreadsheetApp.getActiveSheet();
    columns = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues()[0];

    // This is the submitter's email address
    sender = e.namedValues["Username"].toString();

    // Only include form values that are not blank
    for ( var keys in columns ) {
        var key = columns[keys];
        if ( e.namedValues[key] ) {
            message += key + ' :: '+ e.namedValues[key] + "<br />"; 
        }
    }
    textbody = message.replace("<br>", "\n");
    GmailApp.sendEmail(sender, subject, textbody, 
                        {cc: cc, name: sendername, htmlBody: message});
} catch (e) {
    Logger.log(e.toString());
}

最佳答案

这是不可能的,也不应该。您想在未经他人同意的情况下冒充他人。

不幸的是,陈旧的电子邮件系统允许这样做,因此使垃圾邮件发送者和网络钓鱼诈骗的生活变得更加轻松。但谷歌和其他互联网公司努力阻止和过滤此类电子邮件。

最重要的是,除非它是您 Gmail 中的授权帐户,否则您将无法以其他人的身份从 Google 应用程序发送电子邮件。

您能做的最好的事情就是设置reply-to 地址。

关于javascript - 如何使回复电子邮件来自提交者(Google App Script),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685030/

相关文章:

javascript - Base64 html图像不能复制和粘贴

jquery - 需要帮助将jquery序列化与not或filter结合起来

javascript - 当自动更新的单元格更改值时,如何让 Google 表格向您发送电子邮件

python - FastAPI 等效于 Flask 的 request.form,用于不可知的表单

php - 提交PHP mysql后如何编辑数据库信息并保留表单中的值

javascript - 从匹配的键添加到数组

javascript - 使用谷歌应用脚​​本按日期过滤数组

Javascript 用空格替换连字符

javascript - 使用 JavaScript 调用 Amazon Alexa API(用于使用 AVS,而非用于技能开发)

javascript - Chrome 中的打印问题