Google Sheet 电子邮件
Google Sheet Email
我需要发送 A 列中列出的所有电子邮件中的消息,请帮忙,
var e1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sampling").getRange("A:A");
var email1 = e1.getValue();
var mes1 = crypto1 + 'our value ' + (changedd * 100) + ' Average value ' + (Sales * 100 );
MailApp.sendEmail(email1, sub1, mes1, mes1);
只有 A 列的第一个单元格收到电子邮件
我相信你的目标如下。
- 您想使用
MailApp.sendEmail
发送电子邮件,方法是从活动 Spreadsheet 中“采样”的 sheet 列“A”检索电子邮件地址。
修改点:
- 在您的脚本中,
email1
的值是“A”列第一行的单元格值。我了解这是您当前的问题。在这种情况下,您可以使用 getValues()
. 从“A”列中检索值
- 而且,我认为可能需要考虑空值和重复值。
- 关于
MailApp.sendEmail(email1, sub1, mes1, mes1)
,当sub1
为邮件主题时,请使用sendEmail(recipient, subject, body)
。 Ref Because when 4 arguments are used like MailApp.sendEmail(email1, sub1, mes1, mes1)
, the 2nd argument is the reply-to address. Ref请注意这一点。
当以上几点反映到你的脚本中,就会变成下面这样。
修改后的脚本:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sampling");
var emails = [... new Set(sheet.getRange("A1:A" + sheet.getLastRow()).getValues().reduce((ar, [a]) => {
if (a) ar.push(a);
return ar;
}, []))];
var mes1 = crypto1 + 'our value ' + (changedd * 100) + ' Average value ' + (Sales * 100 );
emails.forEach(email => MailApp.sendEmail(email, sub1, mes1));
- 在这种情况下,假设
crypto1
、changedd
、Sales
和sub1
变量已经声明。请注意这一点。
注:
当您想通过包含电子邮件作为cc
来发送电子邮件时,请修改上面的脚本如下。
来自
emails.forEach(email => MailApp.sendEmail(email, sub1, mes1));
至
MailApp.sendEmail({subject: sub1, body: mes1, cc: emails.join(",")});
参考文献:
我需要发送 A 列中列出的所有电子邮件中的消息,请帮忙,
var e1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sampling").getRange("A:A");
var email1 = e1.getValue();
var mes1 = crypto1 + 'our value ' + (changedd * 100) + ' Average value ' + (Sales * 100 );
MailApp.sendEmail(email1, sub1, mes1, mes1);
只有 A 列的第一个单元格收到电子邮件
我相信你的目标如下。
- 您想使用
MailApp.sendEmail
发送电子邮件,方法是从活动 Spreadsheet 中“采样”的 sheet 列“A”检索电子邮件地址。
修改点:
- 在您的脚本中,
email1
的值是“A”列第一行的单元格值。我了解这是您当前的问题。在这种情况下,您可以使用getValues()
. 从“A”列中检索值
- 而且,我认为可能需要考虑空值和重复值。
- 关于
MailApp.sendEmail(email1, sub1, mes1, mes1)
,当sub1
为邮件主题时,请使用sendEmail(recipient, subject, body)
。 Ref Because when 4 arguments are used likeMailApp.sendEmail(email1, sub1, mes1, mes1)
, the 2nd argument is the reply-to address. Ref请注意这一点。
当以上几点反映到你的脚本中,就会变成下面这样。
修改后的脚本:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sampling");
var emails = [... new Set(sheet.getRange("A1:A" + sheet.getLastRow()).getValues().reduce((ar, [a]) => {
if (a) ar.push(a);
return ar;
}, []))];
var mes1 = crypto1 + 'our value ' + (changedd * 100) + ' Average value ' + (Sales * 100 );
emails.forEach(email => MailApp.sendEmail(email, sub1, mes1));
- 在这种情况下,假设
crypto1
、changedd
、Sales
和sub1
变量已经声明。请注意这一点。
注:
当您想通过包含电子邮件作为
cc
来发送电子邮件时,请修改上面的脚本如下。来自
emails.forEach(email => MailApp.sendEmail(email, sub1, mes1));
至
MailApp.sendEmail({subject: sub1, body: mes1, cc: emails.join(",")});