我正在使用此代码发送电子邮件(撰写电子邮件内容是从名为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-甚至更糟,有时甚至不发送到我自己的电子邮件。
我尝试更改设置配置中的内容,但没有找到任何有效的方法。
我设置了一个“从不发送至垃圾邮件”和“始终对其加注星标”的过滤器-无效。
我从其中删除了一个链接,所以它没有链接-无效。
有什么解决方案?
答案 0 :(得分:1)
我处理了这个问题。问题是关于反垃圾邮件过滤器,而不是代码。
通过在GmailApp.sendEmail
方法中添加“回复至”选项,我对电子邮件帐户有了更多的信任。它神奇地解决了问题,因此每封电子邮件现在都可以达到目标。