【问题标题】:GmailApp not sending emails to gmail account every timeGmailApp每次都不会向gmail帐户发送电子邮件
【发布时间】: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


【解决方案1】:

我处理了这个问题。问题在于反垃圾邮件过滤器而不是代码。

通过在GmailApp.sendEmail 方法中添加“回复”选项,我获得了对电子邮件帐户的更多信任。它神奇地解决了问题,因此现在每封电子邮件都到达了目标。

【讨论】:

    猜你喜欢
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多