如果在電子郵件欄中找到相同的電子郵件地址,則可以發送另一個電子郵件正文。例如。b欄有2個[email protected]郵箱是一樣的,當用戶再次輸入相同[email protected]的郵箱時,用戶會收到郵件,顯示你的郵箱之前已經注冊過。
非常感謝任何人的幫助。

我的代碼
function sendmail() {
Object.prototype.get1stEmptyRowFromTop = function (columnNumber, offsetRow = 1) {
const range = this.getRange(offsetRow, columnNumber, 2);
const values = range.getDisplayValues();
if (values[0][0] && values[1][0]) {
return range.getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow() 1;
} else if (values[0][0] && !values[1][0]) {
return offsetRow 1;
}
return offsetRow;
};
var ss = SpreadsheetApp.getActive();
var sh1 = ss.getSheetByName("Sheet1");
var EMAIL_SENT = "EMAIL_SENT";
// var lastRow = sh1.getLastRow();
var lastRow = sh1.get1stEmptyRowFromTop(1) - 1;
var email = sh1.getRange(lastRow, 2).getValue();
var name = sh1.getRange(lastRow, 1).getValue();
var registercode = sh1.getRange(lastRow, 3).getValue();
subjecttxt = "Thank you for registered with us";
var email_Body;
if (lastRow < sh1.get1stEmptyRowFromTop(3)) {
email_Body = "Dear " name "," "<br>" "your registeration is successfully, your registered code is " registercode "Thank you for your registeration";
} else {
email_Body = "Registration had been closed, Thank you.";
}
MailApp.sendEmail({
to:email,
subject: subjecttxt,
htmlBody: email_Body,
}) ;
sh1.getRange(lastRow, 4).setValue(EMAIL_SENT);
}
uj5u.com熱心網友回復:
是的,這是可能的 - 將新的電子郵件值與先前存在的值進行比較
為此,修改
var email_Body;
if (lastRow < sh1.get1stEmptyRowFromTop(3)) {
email_Body = "Dear " name "," "<br>" "your registeration is successfully, your registered code is " registercode "Thank you for your registeration";
} else {
email_Body = "Registration had been closed, Thank you.";
}
到
var email_Body;
var listedRecipients = sh1.getRange("B2:B" (lastRow - 1)).getValues().flat();
if (listedRecipients.indexOf(email) == -1) {
if (lastRow < sh1.get1stEmptyRowFromTop(3)) {
email_Body = "Dear " name "," "<br>" "your registeration is successfully, your registered code is " registercode "Thank you for your registeration";
} else {
email_Body = "Registration had been closed, Thank you.";
}
}
else {
email_Body = "Your email had been registered before."
}
解釋:
- 獲取范圍的值
"B2:B" (lastRow - 1)將回傳除最后一個之外的所有電子郵件收件人。 - flat()會將二維值范圍轉換為一維陣列。
- 在這個一維陣列上,您可以使用方法indexOf()來驗證新收件人是否包含在現有收件人串列中。
- 根據結果??,您可以實施
if...else條件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/380488.html
標籤:谷歌应用程序脚本
上一篇:將編輯器限制為特定范圍腳本
