Creare e gestire una newsletter non è mai stato così facile grazie all’integrazione di Google Script, Google Sheet e Gmail. In questo articolo, vi guiderò passo dopo passo su come impostare un sistema di newsletter utilizzando questi strumenti gratuiti. Non è necessario avere competenze avanzate di programmazione, solo una conoscenza di base di Google Sheets e la disponibilità a seguire alcune semplici istruzioni.
Passaggi per Creare il Programma Newsletter
1. Accedere a Google Script tramite Google Sheet
Per iniziare, apri un nuovo foglio di calcolo su Google Sheet. Una volta aperto il foglio, vai al menu “Estensioni” e seleziona “Apps Script”. Questo ti porterà alla piattaforma Google Script, dove potrai inserire il codice necessario.
2. Autorizzazioni Richieste
Al primo run del Google Script, sarà necessario concedere le autorizzazioni per leggere e scrivere sul foglio di calcolo e per inviare email tramite il tuo account Gmail. Questo è un passaggio fondamentale per garantire che lo script possa funzionare correttamente. Segui le istruzioni visualizzate per concedere le autorizzazioni necessarie.
3. Inserimento del Codice Google Script
Di seguito è riportato il codice completo del Google Script che dovrai inserire nella piattaforma Apps Script. Questo codice creerà una nuova interfaccia utente nel foglio di calcolo, invierà le email e registrerà i dettagli di invio in un log.
// Funzione che viene eseguita automaticamente all'apertura del foglio Google
function onOpen() {
// Creare l'interfaccia utente personalizzata
var ui = SpreadsheetApp.getUi();
// Aggiungere un menu personalizzato chiamato 'Newsletter' con un'opzione per inviare le email
ui.createMenu('Newsletter')
.addItem('Invia Email', 'inviaNewsletter')
.addToUi();
// Ottenere il riferimento al foglio di calcolo attivo
var foglio = SpreadsheetApp.getActiveSpreadsheet();
// Chiamare la funzione per creare i fogli necessari se non esistono
creaFogliSeNonEsistono(foglio);
}
// Funzione principale per inviare la newsletter
function inviaNewsletter() {
// Ottenere il riferimento al foglio di calcolo attivo
var foglio = SpreadsheetApp.getActiveSpreadsheet();
// Ottenere i dati necessari dai fogli
// Leggere tutti gli indirizzi email dal foglio "Rubrica"
var indirizzi = foglio.getSheetByName("Rubrica").getDataRange().getValues();
// Ottenere il riferimento al foglio "Messaggio da Inviare"
var messaggioSheet = foglio.getSheetByName("Messaggio da Inviare");
// Leggere l'oggetto dell'email dalla cella A2
var oggetto = messaggioSheet.getRange("A2").getValue();
// Leggere il testo dell'email dalla cella B2
var testo = messaggioSheet.getRange("B2").getValue();
// Ottenere il riferimento al foglio "Log"
var logSheet = foglio.getSheetByName("Log");
// Ciclo per inviare email a ciascun indirizzo
for (var i = 1; i < indirizzi.length; i++) {
var email = indirizzi[i][0];
if (email) {
try {
// Inviare l'email utilizzando il servizio MailApp di Google
MailApp.sendEmail(email, oggetto, testo);
// Registrare l'invio nel foglio di log
logSheet.appendRow([new Date(), email, oggetto]);
// Pausa di 1 secondo per evitare di superare i limiti di quota di Google
Utilities.sleep(1000);
} catch (e) {
// Gestire eventuali errori nell'invio e registrarli nel log di esecuzione
Logger.log("Errore nell'invio a " + email + ": " + e.toString());
}
}
}
// Mostrare un messaggio di completamento all'utente
SpreadsheetApp.getUi().alert('Invio newsletter completato!');
}
// Funzione per creare i fogli necessari se non esistono e rimuovere il foglio "Foglio1" se presente
function creaFogliSeNonEsistono(foglio) {
var nomiFogli = ["Rubrica", "Messaggio da Inviare", "Log"];
var fogliCreati = false;
// Iterare attraverso i nomi dei fogli necessari
nomiFogli.forEach(function(nome) {
if (!foglio.getSheetByName(nome)) {
// Se il foglio non esiste, crearlo
var nuovoFoglio = foglio.insertSheet(nome);
fogliCreati = true;
// Configurazione iniziale per ciascun foglio
switch(nome) {
case "Rubrica":
// Aggiungere l'intestazione per il foglio Rubrica
nuovoFoglio.getRange("A1").setValue("Indirizzo Email");
break;
case "Messaggio da Inviare":
// Aggiungere le intestazioni per il foglio Messaggio da Inviare
nuovoFoglio.getRange("A1:B1").setValues([["Oggetto", "Testo"]]);
break;
case "Log":
// Aggiungere le intestazioni per il foglio Log
nuovoFoglio.getRange("A1:C1").setValues([["Data e Ora", "Indirizzo Email", "Oggetto"]]);
break;
}
}
});
// Se sono stati creati nuovi fogli, controllare e rimuovere "Foglio1" se presente
if (fogliCreati) {
var foglio1 = foglio.getSheetByName("Foglio1");
if (foglio1) {
foglio.deleteSheet(foglio1);
}
}
}
Il codice sopra riportato svolge diverse funzioni chiave. Quando il foglio Google viene aperto, crea un menu personalizzato chiamato “Newsletter” che consente di inviare email direttamente dal foglio di calcolo. Inoltre, verifica la presenza dei fogli necessari (“Rubrica”, “Messaggio da Inviare”, “Log”) e li crea se non esistono già.
4. Utilizzare lo Script per Inviare Newsletter
Ora che hai configurato il tuo Google Script, è il momento di utilizzarlo per inviare la tua newsletter. Ecco come fare:
- Accedi al foglio di calcolo e apri il menu “Newsletter” che è stato aggiunto.
- Seleziona “Invia Email” per avviare il processo di invio delle email.
- Assicurati di avere compilato correttamente i fogli “Rubrica” (con gli indirizzi email), “Messaggio da Inviare” (con l’oggetto e il testo dell’email).
- Lo script invierà le email e registrerà ogni invio nel foglio “Log”.
Grazie a questa soluzione, potrai gestire le tue campagne email direttamente da Google Sheet, senza la necessità di strumenti aggiuntivi. Questo sistema è ideale per chi desidera una soluzione semplice e gratuita per inviare newsletter in modo efficiente.
Creare un sistema di invio newsletter utilizzando Google Script, Google Sheet e Gmail è un’ottima opzione per chi vuole gestire le proprie comunicazioni in modo autonomo e senza costi aggiuntivi. Con pochi semplici passaggi, potrai inviare email personalizzate ai tuoi contatti e tenere traccia delle tue campagne direttamente dal foglio di calcolo.

