将电子邮件签名添加到电子邮件通知脚本

时间:2017-07-28 09:12:53

标签: email google-apps-script gmail

我正在Google Apps脚本上编写代码,以便每次在我的网站上发布新消息时发送电子邮件。以下是供参考的代码:

var url_of_announcements_page = "https://sites.google.com/announcements"; 
var who_to_email = "emailaccount";

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, "Announcement - '"+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获取签名并自动将其插入到最后?以下是电子邮件格式的行:

MailApp.sendEmail(who_to_email, "Announcement - '"+ann.getTitle()+"'", ann.getTextContent()+"\n\n"+ann.getUrl(), options);

1 个答案:

答案 0 :(得分:2)

Apps脚本无法访问用户的签名:MailApp或GmailApp甚至Gmail API中无法通过高级Google服务访问该方法。

原则上,您可以使用GmailApp获取最近的外发邮件,并在邮件正文中找到最后--之后的签名中搜索其文本。但这需要为脚本提供更多访问权限(GmailApp可以访问,转发和删除现有的电子邮件,与MailApp不同)并且容易出错(当文本解析失败时,您的邮件中可能会出现令人尴尬的文本片段)。

直接附加:

var signature = "\n\n--\nFirstName LastName"; 
// ... 
MailApp.sendEmail(... +signature, options);

(顺便说一下,Gmail网络界面和Gmail移动应用程序通常都有不同的用户签名,因此另外一个用于脚本生成的消息似乎并不常见。)