2017-07-28 1 views
2

J'écris un code sur Google Apps Script pour envoyer un e-mail chaque fois qu'une nouvelle annonce est faite sur mon site. Voici le code de référence:Ajouter un e-mail Signature au script de notification par e-mail

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

Je voudrais savoir s'il est possible d'ajouter ma signature gmail au code. Comme quand je l'envoie avec le script, ma signature est supprimée. Dois-je apposer ma signature dans le code ou puis-je obtenir ma signature de Gmail et l'insérer automatiquement à la fin? Voici la ligne pour la mise en forme de l'e-mail:

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

Répondre

2

Apps Script ne peut pas accéder à la signature de l'utilisateur: il n'y a pas de méthode pour que MailApp ou GmailApp, ou même dans Gmail API accessible via Google Advanced Services.

En principe, vous pouvez utiliser GmailApp pour obtenir un message sortant récent et rechercher son texte pour la signature contenue après le dernier -- trouvé dans le corps du message. Mais cela nécessite d'avoir beaucoup plus accès au script (GmailApp peut accéder, transférer et supprimer des emails existants, contrairement à MailApp) et est sujet aux erreurs (lorsque l'analyse de texte échoue, vous pouvez vous retrouver avec un fragment de texte embarrassant dans votre message).

Il suffit de l'ajouter directement:

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

(Soit dit en passant, l'interface Web de Gmail et l'application Gmail pour mobile ont différentes signatures d'utilisateurs en général, afin d'avoir un autre pour les messages générés par script ne semble pas inhabituel.)