【发布时间】:2020-09-21 16:28:23
【问题描述】:
当有人点击订阅谷歌表格时,我有一个代码可以从我的网站收集电子邮件。该过程基于以下步骤:https://github.com/jamiewilson/form-to-google-sheets/blob/master/README.md 但是,我还想向通过 google 脚本订阅我的网站的人发送一封电子邮件,但我无法这样做。代码如下:
function doPost (e) {
var lock = LockService.getScriptLock()
lock.tryLock(10000)
try {
var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))
var sheet = doc.getSheetByName(sheetName)
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1
var newRow = headers.map(function(header) {
return header === 'timestamp' ? new Date() : e.parameter[header]
})
sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])
var row = sheet.getLastRow()-1
var column = sheet.getLastColumn()
var dataRange = sheet.getRange(2, 1,row,column)
var data = dataRange.getValues();
var email = data[row-1][1];
MailApp.sendEmail("man@test.com", "Wellcome To Engineers", email);
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))
.setMimeType(ContentService.MimeType.JSON)
}
catch (e) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
.setMimeType(ContentService.MimeType.JSON)
}
finally {
lock.releaseLock()
}
}
如果收集了列表中的电子邮件,但它不向任何人发送电子邮件
【问题讨论】:
-
欢迎来到Stack Overflow。添加文本错误消息。
-
如果我误解了您的代码,请原谅我,但您似乎只需用正确的参数替换
MailApp.sendEmail("man@test.com", "Wellcome To Engineers", email)- 还是man@test.com是一个真实的电子邮件地址? -
抱歉,这只是一个虚拟电子邮件地址,所以我不会向全世界发布我的电子邮件。该代码不会将电子邮件发送给我。实际上,我想回复订阅者,所以会转到可变电子邮件,然后我会感谢订阅我的网站。目前只是为了测试发送回复给我的电子邮件地址。
-
请提供更多详细信息以及您迄今为止所做的尝试。你认为问题出在哪里?你有任何错误吗?你能分享一个示例表吗?很抱歉问了这么多问题,但很难准确地理解您想要做什么或如何设置它。现在它只是猜测你可能错了什么的情况。请阅读this
标签: javascript google-apps-script google-sheets google-sheets-api