Inviare newsletter con Magento

Logo-magentoProseguiamo la nostra serie di tutorial dedicati alla piattaforma Magento, con l’analisi di una funzionalità già integrata nel nostro ecommerce e molto utile per finalità di marketing o per qualsiasi altra operazione di comunicazione con i nostri clienti: l’invio di Newsletter. Vediamo nel dettaglio la procedura da seguire per inviare una newsletter.

Creazione del Template

Il primo passo da seguire è quello della realizzazione del template dell’email che intendiamo inviare. Dal menù “Newsletter” selezioniamo la voce “Template Newsletter“. Nella schermata che appare,  clicchiamo sul pulsante “Aggiungi Nuovo Template” (in alto a destra). Vediamo nel dettaglio quali sono i dati che ci vengono richiesti per la creazione del nostro template:

  • Nome Template: il nome identificativo del template. Tale valore non verrà visualizzato dall’utente che riceverà la newsletter, ma servirà soltanto per distinguere il template da altri che realizzeremo.
  • Argomento Template: l’oggetto dell’email che verrà inviata.
  • Mittente: il mittente dell’email.
  • Mittente email: l’indirizzo email dal quale verrà spedita la newsletter.
  • Contenuto Template: il contenuto della nostra email. I fortunati possessori della versione 1.4 di Magento, potranno utilizzare direttamente l’editor WYSIWYG per la compilazione di questo campo. Per tutti gli altri si presenterà come una normale textarea all’interno della quale è possibile utilizzare tag HTML per la realizzazione del layout e per la formattazione del testo. Fare attenzione a non rimuovere il testo che troviamo già precompilato all’interno di questo campo: ci servirà per riportare il link che permetterà ai nostri clienti di rimuovere la loro sottoscrizione alla newsletter.
  • Template Style (solo magento 1.4): specifiche delle classi css eventualmente utilizzate per la realizzazione del contenuto.

Completata la realizzazione del template, clicchiamo sul pulsante “Salva Template“.

Scheduliamo l’invio

E’ giunto il momento di programmare l’invio della nostra newsletter. Per fare questo, dall’elenco “Template Newsletter“, selezioniamo il template che abbiamo appena creato e nell’ultima colonna, dal menù a tendina, selezioniamo la voce “Queue Newsletter” (“Coda Newsletter“), come mostrato in figura:

Senza-titolo-2

Il form che ci viene mostrato sarà precompilato con i dati del template selezionato. Dovremo soltanto decidere a che ora far partire l’invio e sarà premura di Magento di gestire in automatico il tutto. A una condizione però: che sia stato impostato il cronjob per l’esecuzione delle operazioni programmate in Magento.

Impostazione del cronjob

Per l’impostazione del cronjob è necessario inserire la seguente istruzione (sostituendo www.mionegozio.com con il nome del proprio sito)

# m h  dom mon dow   command
*/15 * * * * /usr/bin/links http://www.mionegozio.com/cron.php -dump 1>&2

nel crontab (collegandosi via ssh al proprio server, lanciare il comando crontab -e)

Controlliamo la spedizione

Configurato il cronjob, Magento si occuperà in automatico di gestire l’invio. Potremo controllare lo stato della spedizione consultanto dal menù “Newsletter” la voce “Newsletter in Coda“. Magento invierà un numero prestabilito di email alla volta (per evitare problemi di blocchi per spam impostati giustamente sui server), quindi con il passare del tempo vedremo il valore inserito nella colonna “Processati” aumentare fino a raggiungere il valore “Destinatari“. Dal menù “Newsletter“, selezionando la voce “Report Problemi Newsletter“, potremo tenere controllati anche eventuali errori, con l’indicazione dell’indirizzo mail la cui spedizione risulta fallita.

Lascia un commento

Tutti i campi sono obbligatori.
L'indirizzo email non verrà pubblicato

 

Commenti

  1. avatarFradefra - Scuola di cucina maisazi

    Io sto facendo i primi test proprio in questi giorni. Mi succede una cosa strana. Funziona l’invio, ma quando dallo stesso template faccio più invii, cambiando al volo qualcosa, queste modifiche si riflettono sul template base e su tutte le newsletter inviate.
    Il che significa che a posteriori non capisco più le differenze tra i vari invii dello stesso template.

    Non so se sono stato chiaro.

  2. avatarRoberto Rubino Autore

    Molto strana come cosa.. se provi a darmi maggiori informazioni su quello che fai posso provare ad aiutarti… cosa intendi per “su tutte le newsletter inviate?”… o anche.. tu come ti aspetteresti che si comportasse la cosa ? ciao

  3. avatarFradefra - Scuola di cucina maisazi

    Grazie dell’attenzione.
    Allora, io ho fatto un template in cui informo di uno sconto lastminute sul corso che sta per iniziare e che ha un posto vuoto.
    Metto in coda personalizzando il messaggio in base al corso. Cioè cambio leggermente argomento e testo.

    Passa un mese, mi ritrovo nella stessa situazione per un corso diverso. Uso lo stesso template rimettendo in coda. Ovviamente faccio una seconda modifica all’argomento ed al testo, visto che il corso è diverso.

    Questo mi capita circa ogni settimana o poco più.

    Succede che su tutti i precedenti invii ormai chiusi, sulla coda, mi ritrovo l’ultimo argomento e l’ultimo testo. Io invece mi aspetterei che ogni elemento in coda, soprattutto una volta che l’invio è chiuso, restasse col suo argomento e col suo testo.

    Sbaglio qualcosa?

  4. avatarRoberto Rubino Autore

    Ciao, ora mi è più chiaro quello che ti succede. Per ovviare a questo dovresti creare 1 template per ogni invio (ovviamente se questo template differisce dal precedente). Considera che ti viene messa a disposizione una funzionalità molto comoda di duplicazione del template. Se apri un template trovi infatti il tasto “SALVA COME” con il quale puoi creare una copia del template. In questo modo potrai mantenere ordinato lo storico dei tuoi invii. Ciao

  5. avatarFradefra - Scuola di cucina maisazi

    Scusa, ma così il template a che serve? Un template serve se uno a fronte dello stesso, fa più, cose, altrimenti che template è?

    Comunque, ti ringrazio, credo anche io che sia l’unica soluzione, anche se mi pare poco ragionevole da parta di Magento percorrere una strada simile.

    Buon lavoro :)

  6. avatarFederico

    Scusate la mia ignoranza, ma impostando il cron job dal cpanel qual’è il comando esatto che bisogna inserire?

    /usr/bin/links/mionegozio.com/cron.php

    è questo?

    Saluti

  7. avatarGioia

    Salve, sto cercando di inviare la nostra prima newsletter e ovviamente non è partita :)
    volevo chiedere un chiarimento. premesso che non sono un tecnico, ma solo una dilettante con tanta buona volontà, e che siamo vostri clienti per hostingmag, il cronjob l’avete già settato voi in fase di installazione della piattaforma? se così non fosse, potete darmi qualche istruzione più precisa per farlo? in particolare, come faccio a collegarmi via ssh al mio server?

    grazie
    GV

  8. avatarRoberto Rubino Autore

    Ciao
    sui nostri servizi di hostingMag i cron risultano già attivi…una piccola prova che si può fare per togliersi il dubbio che la newsletter non è partita per “colpa” del cron, è quello di richiamare la pagina http://www.miosito.it/cron.php.

    Per quanto riguarda SSH, bisogna collegarsi in SHELL e lanciare il comando “ssh utente@www.miosito.it“. Se usi un sistema operativo WINDOWS ti consiglio PUTTY come software per SSH.

    Per assistenza sui nostri hosting, ti consiglio comunque di utilizzare la funzione ticket del nostro sito hostingmag… questo per garantirti tempi di risposta rapidi… Preferiamo mantenere il blog per discorsi più generali ed aperti a tutti, non solo ai nostri clienti

    Ciao

  9. avatarRoberto Rubino Autore

    Ciao,
    si è giusto.. evidentemente non hai LINKS installato… Puoi sostituire il comando così:

    */15 * * * * /usr/bin/php /home/tuosito/public_html/cron.php

    Ciao

  10. avatarMarco Calvo

    Potreste pubblicare le istruzioni per inviare la newsletter con Magento installato sui vostri server? Magari non che spiegasse l’ovvio (come quella qui sopra), ma che spiegasse la procedura esatta, senza gli errori e le incongruenze di cui sopra.

  11. avatarClaudio Bizzotto

    Terremo presente la vostra richiesta per un futuro post.
    Grazie

    Claudio

  12. avatarMarco Calvo

    Mi rispondo da solo. Ecco le istruzioni corrette:

    creata la newsletter con Magento, e messa in coda di spedizione, collegarsi al pannello di controllo cPanel di Artera; cliccare su Cron Jobs e aggiungerne uno (ad esempio ogni ora) e alla voce “Command” scrivere:

    /usr/bin/php -f /home/XXXXX/www/cron.php

    dove al posto di “XXXXX” ci va il vostro nome utente Artera.

  13. avatarpaolo

    Saluti,
    Volendo eseguire un profilo di importazione dello stock, che al momento io faccio manualmente attraverso l’import/export di magento, c’è possibilità di farlo attraverso questa funzione di Cron Jobs.
    Paolo

  14. avatarRoberto Rubino Autore

    Ciao Paolo,
    con gli strumenti standard di magento non è possibile… bisognerebbe realizzare un modulo ad hoc…. se ti può essere d’aiuto… questo è il codice da inserire nel file config.xml del proprio modulo per “avvisare” magento di eseguire ogni tot tempo una determinata operazione

    <crontab>
    <jobs>
    <miomodulo>
    <schedule>
    <cron_expr>0,15,30,45 * * * *</cron_expr>
    </schedule>
    <run>
    <model>miomodulo/modello::funzione</model>
    </run>
    </miomodulo>
    </jobs>
    </crontab>

  15. avatarLuca

    Ciao
    sto provando ora per la prima volta l’attivazione della newsletter… ma mi sorge un dubbio o mi son perso qualcosa….
    ogni volta che io invio una newsletter… devo per forza scrivere il templates (html/css) ???? non esiste il modo di inserire solo il testo ma che il templates sia fisso ????

  16. avatarPaolo

    Saluti,
    Il settaggio del cron a */15 * * * * significa che ogni 15 ore invia un pacchetto di messaggi ? Perchè, la mia newsletter a 2700 clienti è partita il 18 gennaio ed è terminata il 30, dopo 12 giorni. Mi sembrano tanti, non è meglio mettere 5? O si blocca qualcosa?
    Paolo

  17. avatarRoberto Rubino Autore

    @luca

    Quello che puoi fare è creare la prima volta il template, con tutto l’html/css e questo ti rimane salvato nella sezione “Newsletter->Template Newsletter”…. se poi tu clicchi “Queue” in corrispondenza di questo Template, di fatto ti porta in una seconda pagina dove ti ha ricopiato il template… puoi prendere e modificare solo le parti che ti interessano… e far partire l’invio

    ciao

  18. avatarRoberto Rubino Autore

    @paolo

    Abbassandolo a 5 minuti si rischia di sovraccaricare il server (di fatto il database del nostro sito ogni 5 minuti sarà “stressato” per la gestionde della newsletter)…. e si rischia anche di incorrere in limiti imposti sul numero di email che si possono inviare (è un limite imposto solitamente sul server, per non rischiare di farsi bannare dai server di posta destinatari)
    Quando il numero degli invii comincia a diventare alto, potrebbe valer la pena appoggiarsi a sistemi esterni per l’invio di newsletter

    Ciao

  19. avatarManlio

    buongiorno

    premetto che sono nuovo di Magento ma anche di Linux.

    Nell’articolo parli di impostare il cronjob. Io ho il cPanel per la gestione dell’hosting.

    Nella creazione di un cronjob mi chiede le impostazioni di orario e poi una casella comando.

    Cosa devo fare per inserire il comando che tu indichi e attivare il cronjob per l’esecuzione delle operazioni programmate in Magento?

    Grazie

  20. avatarRoberto Rubino Autore

    @Manlio

    Ciao,
    se usi CPanel, nel menu a tendina “Common
    Settings” seleziona “Every 5 minutes (*/5 * * * *) così ti compila in automatico tutti i campi sotto (visto che però eseguire il cron ogni 5 minuti è un po’ troppo eccessivo, ti consiglio di sostituire il valore della casella “Minute” da “*/5” a “*/15”).

    Nel campo “Command” inserisci la seguente stringa:

    /usr/bin/links http://www.mionegozio.com/cron.php -dump 1>&2

    Attenzione che il comando “links” deve essere attivo sul tuo hosting.
    In alternativa potresti compilarla con la seguente stringa:

    /bin/sh /home/NOMEACCOUNTCPANEL/public_html/cron.sh >/dev/null 2>&1

    Ciao

  21. avatarCarlo Berrino

    Grazie dell’ottima spiegazione avrei però una piccola domanda se prima di mandare la mail a tutta la mia lista voglio mandare una mail di prova ad un solo indirizzo come posso fare?
    grazie mille