19124 Letture

Script Gmail: automatizzare la gestione della posta elettronica

Ad inizio 2010 Google introdusse nel servizio che allora si chiamava semplicemente Google Docs e che poi è evoluto in Drive, uno speciale linguaggio di scripting battezzato Google Apps Script. Tale strumento è utilizzabile per automatizzare un vastissimo numero di attività in tutti i servizi del colosso di Mountain View. Sviluppando del codice, si può agire simultaneamente su Gmail così come su tutte le tipologie di file memorizzate in Drive (siano essi fogli elettronici o documenti).
Pochi servizi dispongono di una funzionalità analoga e Google, grazie alle modifiche che ha introdotto nel corso del tempo, mira a restare sempre sulla cresta dell'onda.
Ricorrendo all'impiego degli script, gli utenti di Google Docs possono richiedere lo svolgimento di determinate attività, ad esempio, ad intervalli di tempo regolari oppure nel momento in cui dovessero verificarsi gli eventi prestabili (eventi "trigger"). Si tratta di un'eccellente opportunità che permette di programmare determinate operazioni anche quando i propri computer sono completamente spenti.
Google Apps Script può essere pensato come uno strumento interamente operativo “sulla nuvola” che consente di effettuare qualunque genere di operazione utilizzando semplice codice JavaScript (vedere il sito ufficiale).
Chi già programma per il web è quindi molto avvantaggiato perché la sintassi di base di Google Apps Script è essenzialmente la stessa di JavaScript (qui i rudimenti).
Di seguito proponiamo alcuni esempi di script che consentono di aggiungere funzionalità addizionali al servizio Gmail. Si tratta comunque solamente di un primo "assaggio" che aiuta a capire le potenzialità di Apps Script.

Ricevere un'e-mail via SMS


Nel nostro articolo Ricevere un SMS quando arriva una mail importante su Gmail abbiamo spiegato nel dettaglio come sia possibile far inviare a Google un SMS non appena dovesse arrivare un'e-mail importante. L'SMS viene trasmesso soltanto nel momento in cui il messaggio di posta ricevuto soddisfi determinati criteri.

Il primo passo consiste nell'assicurarsi che Google sia a conoscenza del proprio numero di cellulare.
Per secondo, si dovrà creare una nuova etichetta in Gmail che sarà utilizzata per “classificare” automaticamente quei messaggi il cui arrivo dovrà provocare l'invio dell'SMS.
Successivamente bisognerà creare un nuovo filtro cosicché l'etichetta appena creata sia assegnata, da Gmail, a tutti i messaggi che rispondono a determinati criteri (mittente, contenuto dell'oggetto,...).
In Google Drive si dovrà creare un nuovo documento, accedere all'editor di script ed incollarvi quanto segue:

function sendText() {
  var label = GmailApp.getUserLabelByName('Invia SMS');
  var threads = label.getThreads();
  var now = new Date().getTime();
  for(i in threads){
CalendarApp.createEvent(threads[i].getFirstMessageSubject(),
                            new Date(now+60000),
                            new Date(now+60000)).addSmsReminder(0);
  }
label.removeFromThreads(threads);
}


Dopo aver impostato un evento trigger (in questo caso, configurando il controllo del contenuto della posta in arrivo ogni n minuti), Google provvederà ad eseguire periodicamente il codice dello script inviando un SMS non appena dovesse essere rilevato un messaggio avente etichetta “Invia SMS”.

Su richiesta di un nostro lettore (vedere i commenti in calce all'articolo Ricevere un SMS quando arriva una mail importante su Gmail), abbiamo realizzato uno script alternativo che non invia l'oggetto del messaggio importante ricevuto nella casella di posta Gmail ma la prima parte del corpo del testo.

- Per effettuare il download del codice di Google Apps Script è sufficiente cliccare qui.

Salvare un'e-mail come PDF in Google Drive

Qualora si volesse salvare rapidamente il contenuto di un'e-mail come file PDF nel proprio account Google Drive, è possibile accedere al menù Strumenti, Editor di script quindi incollare il codice scaricabile cliccando qui.

Alla prima esecuzione, il codice creerà automaticamente una nuova etichetta “Salva come PDF” in Gmail.

Usando il menù Risorse, Trigger del progetto corrente, si può impostare ogni quanti minuti lo script dovrà automaticamente salvare i messaggi con etichetta “Salva come PDF”.
Affinché uno o più messaggi Gmail vengano automaticamente salvati in formato PDF su Google Drive, sarà sufficiente assegnare loro l'etichetta “Salva come PDF”.

Ricevere un SMS e un'e-mail quando un sito risulta irraggiungibile

Altro utilissimo script è quello che vi avevamo proposto a suo tempo e che consente di ricevere un messaggio nel momento in cui un qualunque sito web (proprio od altrui) non dovesse risultare più raggiungibile.

La guida passo-passo per impostare lo script è disponibile nell'articolo Verificare se un sito è down: ricevere un'e-mail ed un SMS gratuito se risultasse irraggiungibile.

Spazio su Google Drive: quali messaggi occupano più spazio nella casella Gmail?

Come sapete, lo spazio che Google mette a disposizione dei suoi utenti registrati non è infinito. I dati memorizzati sui server del colosso di Mountain View con un account di base (gratuito) non possono superare i 15 GB. Oltre tale valore, si potrà valutare la stipula di un contratto di abbonamento che, dietro il versamento di un canone mensile, darà diritto ad utilizzare un quantitativo di spazio maggiore.
Da tempo Google ha "unificato" lo spazio offerto sui suoi server per l'utilizzo dei vari servizi. In altre parole, non c'è più un quantitativo di spazio per Gmail, uno per Picasa, uno per Drive e così via ma tutti i servizi poggiano su un unico "contenitore virtuale" da 15 GB che è offerto gratuitamente ad ogni singolo utente (Google unifica tutti i servizi: 15 GB di spazio per tutti).


Per verificare lo spazio disponibile "sulla nuvola" con l'account personale Google, vi suggeriamo di fare riferimento a questo link. Per tutti gli utenti "non paganti", il quantitativo massimo di informazioni che è possibile stivare sui server di Google è complessivamente pari a 15 GB. Chi avesse beneficiato della promozione di cui parlammo alcune settimane fa (Google QuickOffice gratis per tutti, con 10 GB aggiuntivi) potrà utilizzare un "contenitore virtuale" da ben 25 GB.

Uno script elaborato dall'indiano Amit Agarwhal ed utilizzabile direttamente cliccando qui, permette di effettuare una scansione del contenuto della propria mailbox Gmail individuando i messaggi più pesanti.

Per procedere, è necessario acconsentire alla creazione di una copia del foglio elettronico preparato da Agarwhal.
Dopo alcuni istanti, dovrebbe comparire il menù aggiuntivo "Gmail (click here)".
Si dovrà dapprima fare clic su Reset canvas autorizzando lo script ad accedere alla propria mailbox quindi selezionare, dal medesimo menù, il comando Scan mailbox.

Invio di e-mail personalizzate a vari contatti con Gmail

Nel caso in cui si dovesse inviare uno stesso messaggio a molti contatti personalizzandolo con alcune informazioni, è possibile sfruttare l'interessante script presentato nell'articolo Inviare e-mail personalizzate ai propri contatti con Google Gmail e Docs.

Se si fosse interessati a recuperare l'intero elenco dei propri contatti Gmail, invece, si può ricorrere a questo comodo script. Quanto prodotto, ossia l'elenco degli indirizzi e-mail presenti nella propria casella di posta Gmail, può essere poi eventualmente "dato in pasto" allo script precedente.


Conferma di lettura in Gmail

La versione gratuita di Gmail non integra la conferma di lettura. A meno che non si configuri l'account Gmail affinché i messaggi possano essere scaricati e gestiti ricorrendo ad un tradizionale client di posta (Configurare Gmail ed usare l'account al meglio), non si avrà a disposizione il classico comando Ricevuta di ritorno.

Amit Agarwhal ha sviluppato un valido script che si occupa di inserire un'immagine gif di dimensioni pari ad 1x1 pixel che viene utilizzata per stabilire quando il destinatario aprirà e quindi leggerà il messaggio di posta.
Il meccanismo è noto già da anni (si parla di web bug): inserendo in una pagina web o, come in questo caso, in un'e-mail una piccola immagine facente riferimento ad un server remoto, si potrà capire quando il messaggio viene aperto.

Tutti i moderni client di posta e le webmail tendono a non aprire immediatamente le immagini salvate su server remoti. L'utilizzo dello script elaborato dall'indiano Agarwhal non dà e non può dare quindi piena garanzia. In altre parole, è possibile che l'utente legga il messaggio senza però autorizzare il download delle immagini remote (sfuggendo quindi all'espediente qui utilizzato).
D'altra parte, però, anche nel caso della tradizionale "ricevuta di ritorno" l'utente destinatario è libero di inviarla oppure di evitarne la spedizione.

Dopo aver fatto clic su questo link, si potrà comporre una nuova e-mail in Google Gmail lasciando che questa venga salvata tra le bozze.

A questo punto si potrà tornare nel foglio elettronico di Agarwhal, cliccare sul menù Email, Initialize quindi, ancora, su Email, Send Mail.


Lo script richiederà di selezionare, dalla lista dei messaggi salvati nella cartella delle bozze, l'e-mail da inviare. Nella casella immediatamente sottostante, si dovrà inserire l'identificativo del profilo Google Analytics personale (inizia con le lettere "UA").

Facendo clic sul pulsante Send, lo script aggiungerà il codice per il tracciamento dell'e-mail con Analytics e provvederà a spedire il messaggio ai destinatari specificati in precedenza.

Per verificare se il messaggio dovesse essere aperto e letto, bisognerà effettuare il login sul servizio Google Analytics, cliccare su In tempo reale quindi su Eventi.

Nella tabella in calce alla schermata – nel caso in cui l'e-mail venisse aperta – si dovrebbero quindi leggere i nomi e gli account e-mail dei destinatari nonché l'oggetto di ciascun messaggio.


Script Gmail: automatizzare la gestione della posta elettronica - IlSoftware.it