Salta al contenuto principale
Sistemi Attivi
WP Planet — WordPress Cloud & Managed Services
Torna al MagazineWooCommerce

Email transazionali WooCommerce: perché l'ordine arriva e la conferma al cliente no

17 Ott 2026 — 09:30 8 min di lettura
Email transazionali WooCommerce: perché l'ordine arriva e la conferma al cliente no

Il cliente paga, l'ordine è in admin, ma la conferma non arriva nella sua casella. È il problema più silenzioso dell'e-commerce: wp_mail non è fatto per inviare email, e gli hosting lo bloccano. Diagnosi, SMTP dedicato e servizi transazionali.

È il problema più silenzioso che incontriamo negli e-commerce WooCommerce. Il cliente completa l'ordine, il pagamento va a buon fine, l'ordine appare correttamente nel pannello admin — ma la conferma non arriva nella casella del cliente. Lui pensa che l'ordine sia fallito, scrive al supporto, o peggio fa un secondo ordine. Il commerciante scopre il problema giorni dopo, quando i reclami si accumulano.

La causa è quasi sempre la stessa: WordPress usa la funzione wp_mail di PHP per inviare le email, e wp_mail non è progettato per recapitare email transazionali in modo affidabile. Funziona su alcuni hosting, fallisce silenziosamente su molti altri. E quando fallisce, non dà errore: l'email semplicemente non parte, o parte e finisce nello spam, o viene bloccata dal server di destinazione.

Perché wp_mail fallisce (e non te lo dice)

wp_mail delega alla funzione mail() di PHP, che a sua volta usa il mail server locale dell'hosting (sendmail, Postfix). Su hosting condivisi questo server è configurato per inviare poche email, spesso con un IP che non ha reputazione come mittente. I provider di posta (Gmail, Outlook, Apple) ricevono email da quell'IP, non lo riconoscono come mittente legittimo, e le scartano silenziosamente — niente bounce, niente errore, l'email sparisce.

Il primo passo è capire se l'email parte davvero. WooCommerce non logga gli invii di default, ma puoi aggiungerlo:

wp-config.php
// Log di ogni email WooCommerce (MU-plugin o functions.php)
add_action( 'woocommerce_email', function( $emails ) {
    foreach ( $emails as $email ) {
        $log = sprintf(
            '[Woo Email] %s | to: %s | subject: %s | status: queued',
            $email->id,
            implode( ', ', (array) $email->get_recipient() ),
            $email->get_subject()
        );
        error_log( $log );
    }
});

// Log anche il risultato dell'invio effettivo
add_action( 'wp_mail_failed', function( $error ) {
    error_log( '[Woo Email] INVIO FALLITO: ' . $error->get_error_message() );
});
Nota: Controlla wp-content/debug.log dopo un ordine di prova. Se vedi 'queued' ma non 'INVIO FALLITO', e l'email non arriva, il problema è la recapta: l'email parte ma viene bloccata a valle. Se vedi 'INVIO FALLITO', il server locale non invia nemmeno.

SMTP dedicato: la prima soluzione reale

La soluzione più comune è configurare WordPress per inviare tramite un server SMTP dedicato invece del mail server locale. Un account SMTP professionale (Brevo, SendGrid, Mailgun, Amazon SES) ha IP con reputazione, gestisce i bounce e fornisce statistiche di recapito. La configurazione si fa con un plugin o via codice:

wp-config.php
// Configura SMTP dedicato via codice (functions.php o MU-plugin)
add_action( 'phpmailer_init', function( $phpmailer ) {
    $phpmailer->Host       = 'smtp.provider.com';
    $phpmailer->Port       = 587;
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Username   = 'apikey';              // o l'utente SMTP
    $phpmailer->Password   = 'SMTP_PASSWORD';      // chiave API o password
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->isSMTP();
    $phpmailer->From       = 'ordini@iltuostore.it';
    $phpmailer->FromName   = 'Il Tuo Store';
    $phpmailer->Sender     = 'ordini@iltuostore.it';
});
Nota: Le credenziali SMTP non vanno mai nel codice in chiaro in produzione: usa costanti in wp-config.php o un plugin che le gestisca. L'indirizzo mittente deve appartenere al dominio del negozio, altrimenti i provider lo marciano come spoofing.

I record di autenticazione: SPF, DKIM, DMARC

Anche con SMTP dedicato, se i record DNS di autenticazione non sono configurati, le email finiscono in spam. Tre record DNS fanno la differenza. SPF dice quali server sono autorizzati a inviare per il tuo dominio. DKIM firma crittograficamente le email per dimostrare che non sono state alterate. DMARC dice ai provider cosa fare se SPF o DKIM falliscono. Senza questi, anche il miglior SMTP viene filtrato.

Terminale
# Verifica i record DNS di autenticazione email
# SPF — deve elencare il tuo provider SMTP
dig TXT iltuostore.it | grep spf
# Esempio atteso: "v=spf1 include:spf.provider.com ~all"

# DKIM — verifica la firma (il selettore dipende dal provider)
dig TXT default._domainkey.iltuostore.it
# Deve restituire la chiave pubblica DKIM

# DMARC — politica di gestione dei fallimenti
dig TXT _dmarc.iltuostore.it
# Esempio: "v=DMARC1; p=quarantine; rua=mailto:postmaster@iltuostore.it"
Nota: Configura DMARC prima in modalità p=none (solo monitoraggio) per qualche settimana, poi passa a quarantine e infine a reject. Passare subito a reject senza monitorare può bloccare email legittime.

Servizi transazionali: quando SMTP non basta

Per gli store con volume elevato, un servizio di email transazionali dedicato offre più di SMTP: webhook per i bounce, statistiche di recapito per email, gestione automatica delle disiscrizioni, e IP dedicati con reputazione esclusiva. L'integrazione con WooCommerce avviene via plugin o API, e il vantaggio è la visibilità: sai esattamente quante email sono state recapitate, quante finite in spam, quante rifiutate.

Il problema silenzioso delle email transazionali è tale perché nessuno lo segnala finché non è grave. Il cliente non ti dice «non ho ricevuto la conferma» — pensa che l'ordine sia fallito e agisce di conseguenza. Verificare la recapta delle email transazionali con un ordine di prova reale, su ogni provider di posta principale, è parte del check-up WooCommerce: costa pochi minuti e previene settimane di reclami silenziosi.

Assistenza WooCommerce

Checkout, pagamenti e prestazioni del tuo e-commerce sotto controllo.

Verifica tecnica del tuo store WooCommerce: aggiornamenti controllati, sicurezza e ottimizzazione delle prestazioni.

Assistenza WooCommerce
Condividi