【发布时间】:2019-06-12 09:17:28
【问题描述】:
我正在使用此代码发送电子邮件(撰写电子邮件内容,从名为 range 的工作表中获取文本:
//compose issue emails to student and admin
function composeIssueEmail() {
//student's name, last name and email
var email = ss.getRangeByName("CourseProgressEmail").getValue()
var name = ss.getRangeByName("CourseProgressName").getValue()
var lastName = ss.getRangeByName("CourseProgressStudentLastName").getValue()
var subj = ss.getRangeByName("SetUpIssueTitle").getValue()
var subject = subj.replace("*imya*", name)
var bodyText = ss.getRangeByName("SetUpIssueBody").getValue()
var body = bodyText.replace("*imya*", name)
var link = getChecksheetURL()
var text = body.replace("*link*", link)
//send email to student
var studentEmail = sendEmail(email, subject, text)
var adminEmail = "AGcourseSup@gmail.com"
var adminSubj = ss.getRangeByName("SetUpAdminIssueTitle").getValue()
var adminSubject = adminSubj.replace("*imya*", name)
var adminSubjectFinal = adminSubject.replace("*familia*", lastName)
var adminText = ss.getRangeByName("SetUpAdminIssueBody").getValue()
var adminTextReplace = adminText.replace("*imia*", name)
var adminBody = adminTextReplace.replace("*familia*", lastName)
var adminText = adminBody.replace("*link*", link)
//send email to admin
sendEmail(adminEmail, adminSubjectFinal, adminText)
}
//gets current checksheet URL
function getChecksheetURL() {
var Url = ss.getUrl()
var linkMiddle = "#gid="
var sheetID = sheet.getSheetId()
var shecksheetURL = Url + linkMiddle + sheetID
return shecksheetURL
}
//sends emails
function sendEmail(email, subject, body) {
GmailApp.sendEmail(email, subject, body)
}
执行记录: [19-06-12 16:39:43:396 EEST] 执行成功 [2.399 秒总运行时间]
稳定发送到与电子表格相同的gmail帐户。
但是它每隔一段时间就会发送到另一个 gmail 帐户。
详情:
这段代码被执行(我记录了这段代码后面的那一行)
电子邮件在我的出站邮箱中可见,但未到达收件人 gmail 的任何邮箱。
不在垃圾邮件等中。
我没有收到任何消息、错误或退回通知。
我尝试使用 MailApp 代替 - 它更糟糕,有时甚至不发送到我自己的电子邮件。
我尝试更改设置配置中的内容,但没有找到任何工作。
我设置了一个过滤器“从不发送垃圾邮件”和“总是给它加星标” - 没用。
我从中删除了一个链接,所以它没有链接 - 没有用。
有什么解决办法?
【问题讨论】:
-
包括您的其余代码 - 它可能不是您的
sendEmail()行引起的。 -
执行记录中是否有任何消息?你从哪里获得
email的价值;可能包含错误字符串的电子表格等? -
@Altigraph 它说执行成功并显示电子邮件已发送。我在 gmail 的已发送部分看到。但它没有到达收件人的收件箱。有时会,有时不会。
-
请在您的帖子中包含执行脚本并显示您的其余代码,特别是说明
email的来源。 -
@ross 没有其他特殊算法,只需编写电子邮件和主题(效果很好),然后是这一行。没有别的了。
标签: google-apps-script gmail spam