有错误:“未能发送电子邮件:无收件人”

发布于 2025-02-03 16:08:44 字数 1860 浏览 2 评论 0原文

在下面运行代码时,我会遇到错误:

未能发送电子邮件:没有收件人,

这将被运行或Google电子表格。我假设它将在“电子邮件地址”列中查找电子邮件地址,并且在读取最后一个后,它将用于下一个空白单元格,没有看到任何东西,然后给出错误。

如果是这种情况,当列中的最后一个时,我该如何停止寻找电子邮件地址?

  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getSheetByName('mail');
  
  let lr = sheet.getLastRow();

     let adress = sheet.getRange(lr,1).getValue();
     let name = sheet.getRange(lr,2).getValue();
     let chpri = sheet.getRange(lr,3).getValue();
     let chteh = sheet.getRange(lr,4).getValue();
     let chch = sheet.getRange(lr,5).getValue();  
     let chzsis = sheet.getRange(lr,6).getValue();
     let chho = sheet.getRange(lr,7).getValue();

  sender_mail(adress, name, chpri, chteh, chch, chzsis, chho);
}

  
   MailApp.sendEmail({
     to: adress, 
     subject: "Результат по опросу на профориентацию для " + name, 
     htmlBody:  
     "Здравствуйте предлагаем вам результат опроса на профориентацию" + "<br><br>" +
       "Человек-природа: " + chpri + "<br>" +
       "Человек-техника: " + chteh + "<br>" +
       "Человек-человек: " + chch + "<br>" +
       "Человек-знаковая система:  " + chzsis + "<br>" +
       "Человек-художественный образ: " + chho + "<br>" +

       "- «Человек-Природа» - все профессии, связанные с растениеводством,животноводством, лесным хозяйством, с охраной окружающей среды." + "<br>" +
       "- «Человек-Техника» - все профессии, связанные с техникой." + "<br>" +
       "- «Человек-Человек» - все профессии, связанные с обслуживанием людей." + "<br>" +
       "- «Человек-Знаковая система» - все профессии, связанные с подсчетами, цифровыми и буквенными знаками." + "<br>" +
       "- «Человек-Художественный образ» - все творческие специальности." + "<br>" ,
});
     
} ```

I'm getting the error when I run the code below:

Failed to send email: no recipient

This is being run off or a google spreadsheet. I'm assuming that it's going to look for an email address in the email address column and after it reads the last one, it goes for the next blank cell and doesn't see anything, then giving an error.

If this is the case, how can I get it to stop looking for email addresses when it goes to the last one in a column?

  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let sheet = ss.getSheetByName('mail');
  
  let lr = sheet.getLastRow();

     let adress = sheet.getRange(lr,1).getValue();
     let name = sheet.getRange(lr,2).getValue();
     let chpri = sheet.getRange(lr,3).getValue();
     let chteh = sheet.getRange(lr,4).getValue();
     let chch = sheet.getRange(lr,5).getValue();  
     let chzsis = sheet.getRange(lr,6).getValue();
     let chho = sheet.getRange(lr,7).getValue();

  sender_mail(adress, name, chpri, chteh, chch, chzsis, chho);
}

and

  
   MailApp.sendEmail({
     to: adress, 
     subject: "Результат по опросу на профориентацию для " + name, 
     htmlBody:  
     "Здравствуйте предлагаем вам результат опроса на профориентацию" + "<br><br>" +
       "Человек-природа: " + chpri + "<br>" +
       "Человек-техника: " + chteh + "<br>" +
       "Человек-человек: " + chch + "<br>" +
       "Человек-знаковая система:  " + chzsis + "<br>" +
       "Человек-художественный образ: " + chho + "<br>" +

       "- «Человек-Природа» - все профессии, связанные с растениеводством,животноводством, лесным хозяйством, с охраной окружающей среды." + "<br>" +
       "- «Человек-Техника» - все профессии, связанные с техникой." + "<br>" +
       "- «Человек-Человек» - все профессии, связанные с обслуживанием людей." + "<br>" +
       "- «Человек-Знаковая система» - все профессии, связанные с подсчетами, цифровыми и буквенными знаками." + "<br>" +
       "- «Человек-Художественный образ» - все творческие специальности." + "<br>" ,
});
     
} ```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷离° 2025-02-10 16:08:44

看来您省略了循环,这很有帮助。

但是,对于您的问题,一个简单的解决方案是检查在执行sender_mail之前的电子邮件地址是否存在:

if (adress.length) sender_mail(adress, name, chpri, chteh, chch, chzsis, chho);

It looks like you've omitted your loop, which would be helpful.

However, a simple fix for your question would be to check if the email address exists before executing sender_mail:

if (adress.length) sender_mail(adress, name, chpri, chteh, chch, chzsis, chho);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文