如何设置MailApp noReply从真到假从谷歌表自定义菜单?



我试图在谷歌表格中创建一个自定义菜单,关闭noReply以及向学生发送大量电子邮件。我让群发邮件功能运行得很好。但是我想添加一个选项来改变

{name:"Automatic Emailer", replyTo: 'email@gmail.com', noReply: true}); 
to 
{name:"Automatic Emailer", replyTo: 'email@gmail.com', noReply: false}); 

我希望能够从自定义菜单中更改这个

这是自定义菜单脚本。

function onOpen(e) {
var menu = SpreadsheetApp.getUi()
.createMenu('Mass Student Email')
.addItem('Send Mass Email', 'checkResponse')
.addToUi();
}
function checkResponse() {
var ui = SpreadsheetApp.getUi();
var noReply = ui.alert('Remove NoReply', ui.ButtonSet.YES_NO);
var response = ui.alert('Are you sure you want to proceed?', ui.ButtonSet.YES_NO);
if (noReply == ui.Button.YES) {
noReplyOff();
if (response == ui.Button.YES) {
sendEmails();
} else {
Logger.log("The user wasn't sure.");
}
}

我已经尝试创建一个函数但是我是新手,我很难弄清楚如何写这个函数。

function noReplyOff(){
MailApp.sendEmail(noReply:true).setValue(noReply:false);
}

任何帮助都将非常感激!

看来我明白了。我刚刚创建了另一个菜单项和另一个函数,noRelpy为false。代码如下:

function basMenu() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu('Send Student');
menu.addItem('Mass Email', 'checkResponse');
menu.addSeparator();
menu.addItem('Remove NoReply', 'noReply')
menu.addToUi();
}

function onOpen(){
basMenu();
}
function checkResponse() {
var ui = SpreadsheetApp.getUi();
var response = ui.alert('Send emails from email list?', ui.ButtonSet.YES_NO);
if (response == ui.Button.YES) {
sendEmails();
} else {
Logger.log("The user wasn't sure.");

}   

}
function noReply(){
var ui = SpreadsheetApp.getUi();
var noReplyOff = ui.alert('Remove noReply from email?', ui.ButtonSet.YES_NO);
if (noReplyOff == ui.Button.YES) {
sendNoReplyEmails();

}
}
function sendEmails() {
var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GED").activate();
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var mt = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");

var templateSubject = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");
var templateName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");
var templateText = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email").getRange(3, 
2).getValue();

var quotaLeft = MailApp.getRemainingDailyQuota();
Logger.log(quotaLeft);
if((lr-1) > quotaLeft){
Browser.msgBox("Remaining email quota: " + quotaLeft);
} else 
for (var i = 2;i<=lr;i++){
var currentFirstName = ss.getRange(i, 1).getValue();
var currentLastName= ss.getRange(i, 2).getValue();
var currentEmail = ss.getRange(i, 3).getValue();
var currentUID = ss.getRange(i, 4).getValue();
var currentPhone = ss.getRange(i, 5).getValue();
var currentProgram = ss.getRange(i, 6).getValue();
var subjectLine = mt.getRange(1, 2).getValue();
var nameLine = mt.getRange(2, 2).getValue();
var messageBody = templateText.replace("{{First}}",currentFirstName).replace(" 
{{Last}}",currentLastName).replace("{{UID}}",currentUID).replace(" 
{{Phone}}",currentPhone)
.replace("{{Email}}",currentEmail).replace("{{Program}}",currentProgram);

MailApp.sendEmail(currentEmail, subjectLine, messageBody, {name:"Automatic Emailer", 
replyTo: 'email@yahoo.com', noReply: true});
SpreadsheetApp.getActiveSheet().getRange(i, 7).setValue('Sent');
SpreadsheetApp.getActiveSheet().getRange(i, 8).setValue(new Date);


}
}

function sendNoReplyEmails() {
var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GED").activate();
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
var mt = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");

var templateSubject = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");
var templateName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email");
var templateText = 
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Email").getRange(3, 
2).getValue();

var quotaLeft = MailApp.getRemainingDailyQuota();
Logger.log(quotaLeft);
if((lr-1) > quotaLeft){
Browser.msgBox("Remaining email quota: " + quotaLeft);
} else 
for (var i = 2;i<=lr;i++){
var currentFirstName = ss.getRange(i, 1).getValue();
var currentLastName= ss.getRange(i, 2).getValue();
var currentEmail = ss.getRange(i, 3).getValue();
var currentUID = ss.getRange(i, 4).getValue();
var currentPhone = ss.getRange(i, 5).getValue();
var currentProgram = ss.getRange(i, 6).getValue();
var subjectLine = mt.getRange(1, 2).getValue();
var nameLine = mt.getRange(2, 2).getValue();
var messageBody = templateText.replace("{{First}}",currentFirstName).replace(" 
{{Last}}",currentLastName).replace("{{UID}}",currentUID).replace(" 
{{Phone}}",currentPhone)
.replace("{{Email}}",currentEmail).replace("{{Program}}",currentProgram);

MailApp.sendEmail(currentEmail, subjectLine, messageBody, {name:"Automatic Emailer", 
replyTo: 'email@yahoo.com', noReply: false});
SpreadsheetApp.getActiveSheet().getRange(i, 7).setValue('Sent');
SpreadsheetApp.getActiveSheet().getRange(i, 8).setValue(new Date);


}
}

最新更新