Magento… Amore ed Odio…..
Da qualche giorno mi sono imbattuto in un problema davvero strano e non vi nascondo che ci sono quasi uscito pazzo…..
Stavo lavorando sul sito di un mio cliente ed andando a generare degli ordini di test tutto sembrava funzionare correttamente, ogni impostazione era stata settata nei minimi particolari e con la massima attenzione.
Una volta generato l’ordine…..Magento non inviava l’email di conferma al cliente …. chiaramente neanche gli aggiornamenti di stato o i commenti all’ordine stesso.
Inizio a cercare soluzioni a destra e a manca… si parla di plugin per l’invio delle email sfruttando il servizio smtp…. gestione dei cron job …. ma alla fine una gran confusione e nessun risultato che funzionasse davvero.
Alla fine mi imbatto in un tipo dall’aria simpatica…. il mio salvatore….. e ormai migliore amico…. Dixon Cherian.
Inizio a guardare il suo video e con poche righe di codice sono riuscito a risolvere il mio problema ….. incredibile….
Lascio qui sotto il video dell’autore che spiega i semplici passaggi da effettuare su Magento ed il codice da modificare via ftp. Spero vi sia utile…. non vi nego che a me ha tolto qualche ora di sbattimento di testa….. Per qualsiasi altra informazione o dettaglio scrivetemi pure sul contact form o qui sotto nei commenti.
CODICE ED ISTRUZIONI DETTAGLIATE
In latest Magento versions, all emails are being sent via CRON job. Every email will be queued and sending will depend on the set interval, in general 5 minutes.
By default, Magento has already set CRON jobs at
System -> Configuration -> Advanced -> System -> Advanced -> Cron
If CRON job is not working properly, please follow below steps to send instant emails.
- Copy Template.php file from
app -> code -> core -> Mage -> Core -> Model -> Email
- Create folder structure like
app -> code -> local -> Mage -> Core -> Model -> Email
- Paste Template.php file in Email folder
- Open Template.php file and go to line number 407 or search for the following code
if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
- Replace above code with following
if (!($this->hasQueue()) && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
Testato su Magento ver. 1.9.2.4