我正在为我的Google网站制作电子邮件通知脚本,我已对其进行了测试并且工作正常,以下是代码:
var url_of_announcements_page = "https://sites.google.com/a/announcements";
var who_to_email = "email@company.com";
function emailAnnouncements(){
var page = SitesApp.getPageByUrl(url_of_announcements_page);
if(page.getPageType() == SitesApp.PageType.ANNOUNCEMENTS_PAGE){
var announcements = page.getAnnouncements({ start: 0,
max: 10,
includeDrafts: false,
includeDeleted: false});
announcements.reverse();
for(var i in announcements) {
var ann = announcements[i];
var updated = ann.getLastUpdated().getTime();
if (updated > PropertiesService.getScriptProperties().getProperty("last-update")){
var options = {};
options.htmlBody = Utilities.formatString("<h1><a href='%s'>%s</a></h1>%s", ann.getUrl(), ann.getTitle(), ann.getHtmlContent());
MailApp.sendEmail(who_to_email, "Notification - '"+ann.getTitle()+"'", ann.getTextContent()+"\n\n"+ann.getUrl(), options);
PropertiesService.getScriptProperties().setProperty('last-update',updated);
}
}
}
}
function setup(){
PropertiesService.getScriptProperties().setProperty('last-update',new Date().getTime());
}
唯一的问题是我希望有多个人收到此电子邮件。我知道可以在每个电子邮件地址后使用昏迷逐个添加它们。但是,这需要大量维护,我希望将其切换到Gmail联系人组以便更快地进行维护。
我尝试用我在Gmail上创建的联系人组替换电子邮件地址。我把它称为Test
,当我用联系人组的名称替换email@company.com
时,我出现了这个错误:
我已经在线查看了,我找不到能够帮助我了解情况的内容。所以我有两个问题:
答案 0 :(得分:2)
您需要先将电子邮件地址输入阵列。使用联系人应用程序获取测试组,然后遍历所有联系人以获取其地址。
var emails = [];
var contacts = ContactsApp.getContactGroup('Test').getContacts();
for(var i in contacts){
emails.push(contacts[i].getPrimaryEmail());
}
然后使用发送到或bcc参数中的emails
变量作为Cooper建议。