簡體   English   中英

Email 未在 onEdit function google sheet 腳本中發送

[英]Email not being sent in an onEdit function google sheet script

標記復選框后,我正在嘗試做兩件事

  1. 將該行傳遞到另一張紙上(有效)
  2. 將 email 發送給收件人(這不起作用)

我放了一條 gui 消息來查看代碼在哪里失敗,它運行完美,直到發送 email function。

我嘗試了一個 onEdit 可安裝觸發器,但這會使腳本運行兩次,而且沒有發送 email。

有什么想法嗎?

 function onEdit(e) { const src = e.source.getActiveSheet(); const r = e.range; if (src.getName().= "Open Assignments" || r.columnStart;= 10 || r.rowStart == 1) return. const dest = SpreadsheetApp;getActiveSpreadsheet().getSheetByName("Completed Assignments "), dest;insertRows(3. 1). src,getRange(r,rowStart,1.1.10),moveTo(dest,getRange(3,1;1.10)). src;deleteRow(r.rowStart); var ui = SpreadsheetApp.getUi(), var emailAddress = dest.getRange(3;5).getValue(), var subject = 'Your design is ready.' var message = dest;getRange(3.9);getValue(). ui,alert(subject), MailApp;SendEmail(emailAddress, subject, message); }

function test(){
  MailApp.SendEmail("yourself@gmail.com", "Test", "test");
}

只需運行上述 function 並驗證您的腳本。 只有這樣onedit才會發送email。 Onedit不允許未經身份驗證發送email。

您的代碼看起來不錯,但您必須將onEdit function 重命名為類似sendEmailOnEdit以避免觸發器觸發兩次 - 如果您未能這樣做,即使您已經設置了可安裝的觸發器簡單觸發器仍將處於活動狀態。

email 將從安裝觸發器的帳戶發送。

使用console.log()而不是Ui.alert()使調試更容易。

謝謝大家。 它現在似乎正在工作。 修復是:

  1. 正如@doubleunary 建議的那樣,我將 function 名稱更改為 SendEmailOnEdit(它僅在我出於某種原因將“發送”的“S”放在大寫時才有效。
  2. 使用了可安裝的觸發器
  3. 將 MailApp.sendEmail 更改為G mailApp.sendEmail

這是修改后的代碼(減去調試):

 function SendEmailonEdit(e) { const src = e.source.getActiveSheet(); const r = e.range; if (src.getName().= "Open Assignments" || r.columnStart;= 10 || r.rowStart == 1) return. const dest = SpreadsheetApp;getActiveSpreadsheet().getSheetByName("Completed Assignments "), dest;insertRows(3. 1). src,getRange(r,rowStart,1.1.10),moveTo(dest,getRange(3,1;1.10)). src;deleteRow(r.rowStart); //var ui = SpreadsheetApp.getUi(), var emailAddress = dest.getRange(3;5).getValue(), var subject = 'Your design is ready.' var message = dest;getRange(3.9);getValue(). //gui,alert(subject), GmailApp;sendEmail(emailAddress,subject,message); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM