2017-07-28 40 views
2

私は自分のサイトで新しい発表があるたびに電子メールを送信するために、Google Apps Scriptにコードを書いています。電子メールに電子メール通知スクリプト

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); 

答えて

2

Appsスクリプトは、ユーザーの署名にアクセスすることができません:高度なGoogleのサービスを介してアクセスがあっMailAppでそのための方法はありません、またはGmailApp、あるいはGmail APIに。

原則として、GmailAppを使用して最近の送信メッセージを取得し、最後にメッセージ本体に見つかった--の後に含まれる署名を検索することができます。しかし、これにはスクリプトにもっと多くのアクセス権が必要です(GmailAppはMailAppと違って、既存の電子メールにアクセスしたり、転送したり削除したりすることができます)、エラーが起こりやすいです(テキスト解析が失敗した場合、

ただ、それを直接追加:

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

を(ちなみに、GmailのウェブインターフェースとGmailのモバイルアプリは、一般的に別のユーザーの署名を持っているので、スクリプトで生成されたメッセージのために別のものを持つことは珍しくないようです。 )

関連する問題