Voglio comunicarvi una piccola soluzione per quanto riguarda Woocommerce ed esattamente per un problema legato all’invio della mail di notifica in WooCommerce.
Woocommerce è un ottimo plugin per la gestione delle vendite online ( e-commerce ), ed ha un sacco di funzionalità.
Una di queste è proprio il fatto che ha un sistema di mail automatico che gestisce gli ordini e la registrazione degli utenti.
In questo modo potete sapere quando un cliente si registra ed effettua un ordine.
Prima di tutto assicuratevi che il sistema sia correttamente configurato per l’invio delle mail. Potete utilizzare questo semplice plugin, che vi permette di configurare WordPress per spedire le mail tramite l’ausilio dell’SMTP.
Dopo assicuratevi che sia presente la giusta mail di notifica anche nelle impostazioni generali di WooCommerce, in WooCommerce – Impostazioni – Email.
A me è successo quasi sempre però, che la mail di notifica destinata all’amministratore del sito, per la nuova registrazione di un nuovo utente, non venga inviata.
Ecco un piccolo trick che vi permette di superare questo ostacolo e ricevere regolarmente anche le mail di registrazioni di nuovi utenti.
Basta che copiate questo codice alla fine del file functions.php.
Il file functions.php, lo troverete all’interno della cartella del vostro tema. Solitamente è wp-content\themes\tuo-tema\functions.php.
add_action('woocommerce_created_customer', 'admin_email_on_registration', 10 , 1);
function admin_email_on_registration( $customer_id) {
wp_new_user_notification( $customer_id );
}
Alla prossima. Per qualsiasi dubbio e/o chiarimento commentate!



40 commenti su “Come risolvere invio mail registrazione utente WooCommerce”
Sinceramente non riesco a farlo funzionare, appena inserisco il codice sul file Function.php il sito smette di funzionare e mi da una pagina bianca…
Ho provato sia sul tema child che sul tema originale…
Ciao Stefano,
ho testato il codice proprio poco fa e non riscontro nessun problema.
Se si generano errori, o il sito smette di funzionare dopo che si aggiunge del codice al file functions.php (come nel tuo caso), è perchè non è stato inserito correttamente o magari nel posto sbagliato.
A volte basta un piccolo errore di sintassi come una parentesi graffa che “incasina” tutto.
Se mi incolli le ultime 4/5 righe del tuo file functions.php, ti indico esattamente come inserire il codice.
Emiliano
Ciao Emiliano,
ho anch’io un problema con l’invio mail da woocommerce.
Mi spiego meglio:
ogni volta che si effettuata un nuovo ordine la mail di conferma arriva solo all’amministratore e non all’eventuale cliente.
I settaggi delle impostazioni email di wc sono corrette.
Anche quando si modifica lo stato di un ordine il sistema non invia mail al cliente, né in automatico né in manuale.
Puoi aiutarmi?
Grazie
Giosi
Ciao Giosi,
grazie per il tuo commento.
Proviamo ad andare per gradi e capire quale possa essere il problema. 😉
– Utilizzi l’ultima versione di WooCoomerce ?
– Anche con il codice che ho proposto nell’articolo si presenta il problema ?
– Utilizzi un plugin per l’invio delle mail tramite SMTP ? Per esempio https://it.wordpress.org/plugins/wp-mail-smtp/
Grazie
Emiliano
Buongiorno Emiliano!
Ti rispondo a punti:
– utilizzo l’ultima versione di WooCommerce
– ho inserito il tuo codice ma credo che si riferisca solo alle mail per le nuove registrazioni
– utilizzo WP-mail-SMTP con l’opzione “Use the PHP mail() function to send emails.”
Ok, grazie per le info.
Prova a settare il plugin WP-mail-SMTP diversamente.
Al posto della funzione PHP mail(), prova ad utilizzare Send all WordPress emails via SMTP.
Successivamente setta SMTP Options, con le informazioni dell’SMTP della tua mail dell’hosting.
Attiva Use SSL encryption.
poi Yes: Use SMTP authentication.
Inserisci la tua email e la password.
A volte la funzione nativa di WordPress fa qualche scherzetto. Vediamo se è dovuto a questo.
Prova e fammi sapere.
Ho settato il plugin come mi hai indicato tu.
Ho fatto il test del plugin e funziona tutto però per quanto riguarda un nuovo ordine di WooCommerce invia la mail solo all’amministratore e non al cliente come prima.
Ok, allora è necessario indagare più a fondo.
Prova ad entrare nelle impostazioni di Woocommerce –> Impostazioni –> Email .
Sulla Email Nuovo Ordine (sull’ingranaggio sulla destra), cosa c’è impostato adesso, come Tipo email ? (di default dovrebbe essere HTML)
Prova sia con Testo che Multiparte.
Ps : solo la mail del nuovo ordine non arriva al cliente ? Negli ordini già presenti, se provi a cambiare stato, per esempio Completato, la notifica arriva al cliente ?
Funziona!!!
Probabilmente c’è stato qualche problema con il server di posta… le mail sono arrivate dopo una ventina di minuti.
Adesso ho fatto di nuovo un test e le ha inviate subito.
Aggiungo questo però per chi magari in futuro può avere un problema simile al mio:
– il settaggio smtp è quello da te indicato con l’unica variazione che non ho attivato “Use SSL encryption” perché altrimenti mi dava errore;
– la mail di un nuovo ordine arriva all’amministratore regolarmente;
– per la mail di un nuovo ordine da inviare al cliente invece ho dovuto installare il plugin “Booster for WooCommerce”.
Una volta installato sono andato:
– Impostazioni WooCommerce;
– Booster;
– Emails & Misc.
– Emails
– ho flaggato “Enable Module”
– su “Admin Title Custom Email #1” ho messo un nome a piacere
– su Cc Email ho scritto “%customer%”
– Salva Modifiche
Poi, sempre su impostazioni di WooCommerce ho cliccato sulla linguetta “Email”:
– in fondo alla lista è apparsa la nuova voce appena creata ed è bastato cliccare sulla rotellina a destra per effettuare tutte le modifiche che mi servivano.
Grazie ancora Emiliano mi sei stato di grandissimo aiuto e semmai avessi ancora bisogno di una mano so dove trovarti 😉
A presto
Giosi
Grazie a te Giosi per queste preziose informazioni che hai condiviso 🙂
Un saluto
Emiliano
Ciao, funziona!
Come posso ricevere una mail in caso di login di un cliente registrato? Grazie
Ciao Fabio,
sono contento che il post ti sia stato utile ! 🙂
Sinceramente non ho mai avuto una richiesta di questo tipo.
Posso sapere perchè vuoi ricevere una email per ogni utente che fa il login ?
Comunque trovo interessante la tua richiesta, e qualora trovassi una soluzione ti avviso 😉
Un saluto
Ciao! Ho trovato il post davvero molto utile…mi hai risolto un grande problema!
Una domanda: ma i campi che vengono inviati nella mail, si possono modificare o aggiungere?
Ti spiego la mia necessità: nel form di registrazione utente della pagina “my account” di Woocommerce ho aggiunto, oltre ai classici nome utente e mail, un altro campo. Quando mi arriva la mail di notifica del nuovo utente registrato, sulla mail compaiono solo username e mail quando invece vorrei comparisse anche il nuovo campo creato.
Grazie comunque per il tuo aiuto.
Un saluto
Ciao Cri,
Felice di averti aiutato ! 🙂
Il campo che hai aggiunto in più l’hai inserito a livello di codice, oppure utilizzando un plugin ? Se hai il codice, prova a postarlo cosi do un’occhiata.
Se mi dici esattamente quale è il campo che desideri aggiungere, posso aiutarti ad integrare il codice per inviare il contenuto anche tramite email. 😉
Fammi sapere
Un saluto
Intanto grazie per la tua disponibilità!
Ho inserito tramite il plugin “WP-Members” i campi Nome, Cognome e partita iva e vorrei che questi dati mi arrivassero sulla mail.
Grazie ancora a presto.
Il plugin “WP-members” è questo, corretto ? –> https://it.wordpress.org/plugins/wp-members/
Non lo conosco, ma provo a darci un’occhiata per vedere il funzionamento. Non pensavo aggiungesse i campi anche nella registrazione di Woocommerce.
Appena ho novità e qualora avessi una soluzione ti aggiorno. 🙂
Grazie un saluto
Sì il plugin è https://it.wordpress.org/plugins/wp-members/ .
Anch’io l’ho scoperto per caso.
Attivando nelle impostazioni della voce account di Woocommerce “Abilita la registrazione nella pagina “Il mio account”” e aggiungendo i campi con il plugin, questi vengono aggiunti anche nella pagina di registrazione di un cliente di Woocommerce.
Se hai novità fammi sapere!
Grazie per il tuo aiuto.
Emiliano
dopo la registrazione del nuovo utente registrato,
devo inserire il tag di seguito all’apertura del tag nella thankyou page:
[…]
[…]
per tracciarne la campagna di marketing.
dove trovo questa pagina nel woocommerce e come devo fare per implementare questo tag?
Grazie se riesci a risolverlo.
un saluto.
Ciao Atomika,
grazie del tuo commento.
Purtroppo non riesco a vedere il codice.
Prova a rifare copia ed incolla se ti è possibile.
E’ un codice fornito da Google o da un servizio esterno ?
Emiliano
questo è lo script da inserire…..
script type=”text/javascript” src=”https://lovby.com/engine/trk.aspx?d=174″>
Ciao, ho raggruppato tutti i commenti in uno solo.
In effetti neanche a me fa postare il codice, ma credo che sia una forma di sicurezza di WP, perchè vede un link ed uno script.
Tuttavia, ho cercato ed in effetti non sembra esserci una thank you page dedicata alla registrazione di Woocommerce.
Potresti provare a fare cosi per aggirare il problema :
# CREI UNA NUOVA PAGINA THANK YOU PAGE COME SE DOVESSI CREARE UNA PAGINA IN WORDPRESS –> Essendo una pagina classica in WP puoi personalizzarla come vuoi.
# POI C’E’ DA INTERVENIRE UN PO’ DA CODICE –> inserisci questo codice all’interno del file functions.php e sostituisci il numero 200 con l’id della pagina della thank you page creata.
puoi vederlo da qui : https://www.dropbox.com/s/dege0ixbfiv1gs9/codice-thank-you-page.txt?dl=0
Se non sai come recuperare l’id dai uno sguardo qui : questo articolo
Poi dove c’è scritto il tuo script lovby, metti il codice di lovby.
poi provi a vedere se viene tracciata la pagina.
Prova e fammi sapere
Ciao ragazzi, scusate io ho un problema con woocommerce. Da quando l’ho installato (a dicembre circa) ha semre fatto il suo dovere, ma da un paio di giorni, non invia più nè le mail all’amministratore nè ai clienti, nessuna mail. Ho un form di contatti e da li le mail arrivano (anche se vanno in spam). Ho fatto tutti gli aggiornamenti, plugin e tema. Non riesco a venirne a capo. Ho provato tutti i metodi trovati sul web, ma niente. Vi pregoooo!!!
Grazie
Elena
Ciao Elena.
Cerchiamo di indagare sul problema, ti faccio qualche domanda :
– Ha smesso di funzionare non appena hai eseguito tutti gli aggiornamenti ?
– Hai sempre utilizzato fino a quando funzionava una versione “datata” di Woocommerce ?
– O ha smesso di funzionare improvvisamente anche senza l’aggiornamento dei plugin e tema ?
Grazie
Emiliano
Ciao,
ho un problema con l’invio mail di woocommerce. Non vengono spedite le mail ne con i form, ne per la registrazione nuovo utente, ne richiesta preventivi. Ho provato ad inserire i codici che avevate scritto all’inizio di questa discussione ed ad installare il plugin WP Mail SMTP ma la cosa non cambia.
Non riesco risolvere niente, riesci a darmi una mano?
Ciao Antonella.
– Per l’invio dei form cosa utilizzi come plugin? Contact Form 7?
– Se fai una prova di Invio con WP Mail SMTP ti da esito positivo o errore?
Un saluto!
ciao, Sono agli inizi con word press è sto ricreando il mio sito da wordpress su un tema inspiro, ho messo woocommerce x la vendita delle mie stampe. al momento sto lavorando in localhost tramite MAMP , quando faccio un test di acquisto ordine del nuovo cliente non ricevo l’email di conferma, all’amministratore, mentre ricevo regolarmente quella che dovrebbe essere destinata al cliente, ho installato il plug ing WP Mail SMTP by WPForms ma non mi permette di settare i parametri che avevi messo nei post precedenti. Inoltre sarà perché avevo tolto la pagina account al momento dell’acquisto nonostante abbia abilitato la funzione nuovo utente fa procedere all’acquisto senza registrazione.
Buongiorno Emiliano,
ho letto il post e i commenti e forse mi puoi dare una mano.
Sto realizzando un sito web B2b quindi con accesso riservato a woocommerce e funzionava tutto bene. Poi ho continuato il lavoro e pronto per essere sponsorizzato mi sono reso conto che se un cliente invia un ordine, lo ricevo sul back office ma non mi spedisce le notifiche, sia a me che al cliente.
Ho scoperto anche che se faccio un acquisto come amministratore la cosa non succede quindi mi ritrovo entrambi le notifiche quindi deduco che il problema non sia in woocommerce ma in qualche impostazione riguardante l’utente Cliente ma non riesco a capire dove sta il problema!
Ho giò provato a disinstallate tutti i Plugin ma niente, ho installato wp-mail-smtp ma non ricevo la email anche facento le spunte alle Forse. Non so dove battere la testa!
Naturalmente quando parlo di notifiche intendo email html
wp-mail-smpt invia il test correttamente ma non ricevo nulla sulla posta di gmail.
Sono installati questi plugin:
BAW Login
Members
New User Approve
Peter’s Login Redirect
Contact Form 7
Custom Product Tabs for WooCommerce
Ciao il tuo suggerimento funziona alla perfezione. C’è un modo per inviare la stessa email di avviso registrazione utente che arriva all’amministratore, anche ad un altro indirizzo email?
Ciao Francesca,
sono felice che il codice ti abbia aiutato.
Prova ad inserire questo codice al di sotto di quello che ho menzionato nell’articolo:
add_filter( 'woocommerce_email_headers', 'invio_mail_admin_aggiuntive', 20, 3 ); function invio_mail_admin_aggiuntive( $header, $email_id, $order ) { if( 'customer_new_account' == $email_id ) { // ottieni l'email admin $admin_email = get_option('admin_email'); // imposti le mail secondarie come CC e BCC $header .= 'Cc: ' . 'ccmail@mail.com' . "\r\n"; $header .= 'Bcc: ' . 'bccmail@mail.com' . "\r\n"; } return $header; }Alla riga 9 e 10 imposti le email secondarie, alla riga 9 se la vuoi inviare come CC e la riga 10 come CCN (in cc nascosta).
Inviarla come destinatario aggiuntivo non ho ancora trovato il modo, ma questo escamotage permette attraverso il CC e CCN di settare mail aggiuntive.
L’ho testato e funziona. Fammi sapere se ti è d’aiuto.
Perfetto, grazie mille! Ho però un problema con il primo codice su un altro sito, http://www.svinfylking.it.
Ho copiato il codice alla fine di function.php, ma nella visualizzazione si crea uno spazio non voluto in alto prima dell’header.
Ciao Francesca,
non vedo spazi bianchi, immagino che hai rimosso il codice, corretto?
Molto probabilmente si genera uno spazio bianco perché la formattazione del functions.php è leggermente diversa dal normale. Avresti modo di farmi vedere il functions.php?
Così so dirti meglio… grazie!
Si esatto l’ho cancellato. Come posso condividerti il file? copio l’intero codice nei commenti?
Puoi inviarlo alla mail che vedi in calce al sito.
Grazie!
Ho verificato il file che mi hai inviato e sembra tutto normale.
Facciamo così:
– carica il codice e avvisami appena fatto che guardo subito
– una volta che vedo lo spazio bianco ti dico come risolvere
Grazie mille
Ciao, ho caricato il codice. Grazie mille
Ho capito il problema, con il codice si genera un warning del tutto innocuo e quindi mostra un avviso invisibile che crea spazio.
Per rimuoverlo fai così:
All’interno del file wp-config.php, che trovi fuori dal tema, nella directory principale di WordPress, inserisci questo codice dopo la riga /* That’s all, stop editing! Happy publishing. */:
ini_set('display_errors','Off'); ini_set('error_reporting', E_ALL ); define('WP_DEBUG', false); define('WP_DEBUG_DISPLAY', false);e , se è presente questo codice:
define('WP_DEBUG', true);lo sostituisci con
define('WP_DEBUG', false);Dovrebbe risolvere.
Fammi sapere
Sembra essersi risolto, grazie mille del supporto!
Perfetto, bene così! 🙂
Un saluto, alla prossima.
Ciao, ti segnalo un errore nello script, nella prima riga ci vanno gli apici: ‘woocommerce_created_customer’, ‘admin_email_on_registration’, altrimenti da WordPress da errore e non modifica il file functions.php