WordPress SMTP: 4 plugin a confronto (con configurazione passo passo)
WordPress di default usa la PHP mail() function che finisce in spam quasi sempre. Confronto tra WP Mail SMTP, Post SMTP, FluentSMTP e plugin nativo: feature, performance, sicurezza.
WordPress, in installazione standard, invia email tramite la funzione mail() di PHP, che a sua volta chiama il binario sendmail del sistema operativo. Il risultato pratico è che il messaggio esce dall'IP del web server senza autenticazione (SPF/DKIM/DMARC non firmati), spesso da hosting condiviso con reputation tossica, e finisce in spam nel 60-90% dei casi. La soluzione corretta è ridirigere gli invii a un server SMTP autenticato. WordPress non ha un'interfaccia nativa per farlo, quindi servono plugin. In questo articolo confrontiamo i quattro plugin più diffusi: WP Mail SMTP, Post SMTP, FluentSMTP e il plugin nativo Target SMTP for WordPress. Per ognuno: setup, pro/contro, performance.
Perché mail() di PHP è inadeguato
Tre problemi strutturali:
- Nessuna autenticazione: i messaggi non sono firmati DKIM, l'envelope MAIL FROM è l'utente Unix del web server (es.
www-data@server123.hosting.it), SPF dell'hosting non include quasi mai il dominio del cliente - IP condiviso non gestito: l'IP del web server è promiscuo con centinaia di altri siti su hosting condiviso. Un singolo sito malevolo nel pool danneggia la reputation per tutti
- Nessun retry, nessun queue: se l'invio fallisce, il messaggio è perso. Nessuna gestione di rate limit, nessuna idempotency
Riconfigurare WordPress per usare un SMTP esterno autenticato risolve i tre problemi simultaneamente: i messaggi sono firmati con il dominio del cliente, escono da IP gestiti, e il provider gestisce retry/queue.
WP Mail SMTP (by WPForms)
Il plugin più scaricato della categoria (oltre 3 milioni di installazioni attive). Sviluppato da WPForms, ha versione gratuita e Pro.
Setup
- Installa da Plugins > Add New > cerca "WP Mail SMTP"
- Vai su WP Mail SMTP > Settings
- From Email:
noreply@tuodominio.it(deve essere il dominio del sito) - From Name: nome brand
- Mailer: scegli "Other SMTP"
- SMTP Host:
smtp.targetsmtp.it(o provider scelto) - Encryption: TLS (porta 587) o SSL (porta 465)
- SMTP Authentication: ON
- SMTP Username e Password: credenziali del provider
- Salva, fai Send Test Email
Pro
- UI semplice, ben localizzata in italiano
- Integrazione nativa con 13 mailer (SendGrid, Mailgun, Brevo, Amazon SES, etc.) via API key invece di SMTP
- Email log in versione Pro (storico invii, retry manuale)
- Backup mailer in caso di failure (Pro)
Contro
- Molte feature core (alert, log, backup) sono Pro (da 49 USD/anno)
- Tracking pixel/click solo via integrazione con WPForms
- Codice "pesante" rispetto ad alternative
Post SMTP Mailer
Plugin di lunga data (ex Postman SMTP), open source. Approccio più tecnico ma molto potente.
Setup
- Installa "Post SMTP" da WP repository
- Post SMTP > Start the Wizard
- From Email + From Name
- SMTP host autodetect: digita
smtp.targetsmtp.it, Post SMTP rileva porta/TLS automaticamente - Username + Password (anche OAuth2 per Gmail/Outlook)
- Save, Send Test
Pro
- OAuth2 nativo per Gmail/Outlook (no app password obsolete)
- Email log gratuito incluso, con preview del messaggio HTML
- Mobile push notification on failure (via app dedicata gratuita)
- Notification ad altro indirizzo se l'invio fallisce dopo N retry
- Open source, codice ispezionabile
Contro
- UI meno moderna di WP Mail SMTP
- Wizard può essere confusionario al primo run
- Documentazione in inglese, pochi tutorial in italiano
FluentSMTP
Plugin più recente (2021), gratuito al 100%, sviluppato da WPManageNinja. Concentrato su performance e integrazioni API.
Setup
- Installa "FluentSMTP"
- FluentSMTP > Connection > Add New
- Sceglie connection type: "Other SMTP" per provider generico
- From Email, From Name (con opzione "Force from" che sovrascrive anche plugin terzi)
- Host, port, encryption, credentials
- Save, Test
Pro
- 100% gratuito, niente versione Pro che limita feature core
- Multi-connection: puoi configurare più mailer e routing per dominio mittente (es. tutte le mail da
noreply@via SMTP A, dainfo@via SMTP B) - Email log completo gratuito
- Performance: codebase leggera, no bloat
- Real-time delivery dashboard
Contro
- Plugin più giovane, ecosystem support minore
- Localizzazione italiana parziale
- Integrazioni API minori di WP Mail SMTP (no Mailchimp Transactional, no Pepipost)
Plugin nativo Target SMTP for WordPress
Plugin sviluppato specificamente per integrazione con Target SMTP. Setup automatico tramite API key del pannello.
Setup
- Installa "Target SMTP for WordPress" dal repository
- Inserisci API Key dal pannello targetsmtp.it (account > API)
- Il plugin auto-configura: from email coerente con dominio verificato, DKIM controllo, routing automatico
- Salva, test
Pro
- Configurazione in 30 secondi (no host/port/credentials manuali)
- Auto-verifica DNS: il plugin segnala se SPF/DKIM/DMARC sono mancanti sul dominio
- Send-Time Firewall integrato: blocca invii a indirizzi già hard-bounced
- Log invii nel pannello esterno (no overhead DB WordPress)
- Italiano nativo, supporto in italiano
Contro
- Funziona solo con Target SMTP (lock-in al provider)
- Niente OAuth2 cross-provider
Confronto tabellare
| Feature | WP Mail SMTP | Post SMTP | FluentSMTP | Target nativo |
|---|---|---|---|---|
| Costo base | Free + Pro 49+ USD | Free | Free | Free (con piano TSMTP) |
| Email log | Pro only | Free | Free | Esterno (pannello) |
| OAuth2 (Gmail/MS) | Sì | Sì | Sì | No |
| Multi-connection | Pro | Limitato | Sì free | N/A (single-provider) |
| Failover | Pro | Manual | Sì | Automatico |
| API integrations | 13+ | 5-6 | 10+ | 1 (proprietaria) |
| Performance (LCP) | Medio | Buono | Ottimo | Ottimo |
| Localizzazione IT | Sì | Parziale | Parziale | Nativa |
Configurazione avanzata: WP-Config secrets
Indipendentemente dal plugin, NON salvare la password SMTP nel database WordPress in chiaro: usa wp-config.php con costanti, che hanno priorità sui valori della UI.
// wp-config.php
define( 'WPMS_ON', true );
define( 'WPMS_SMTP_HOST', 'smtp.targetsmtp.it' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' );
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_USER', 'wp-mailer-prod' );
define( 'WPMS_SMTP_PASS', 'PASSWORD_FROM_VAULT' );
Le costanti vanno aggiunte fuori dal repo Git (es. via deploy hook o gestore secret tipo Vault, AWS Secrets Manager, Doppler).
⚠️ Attenzione: molti plugin SMTP loggano l'intero payload dell'email nel database WP, incluso il body HTML. Per messaggi con PII (recupero password, reset utente, dati ordine) questo crea responsabilità GDPR. Imposta retention del log a 30 giorni massimo e cifra il database.
Troubleshooting comune
- Test funziona, ma WooCommerce non invia: alcuni plugin (in particolare Polylang, WPML, Loco Translate) bypassano
wp_mail(). Cerca filterwp_mailnei plugin attivi - Errore "Could not authenticate": porta o encryption sbagliata. Prova 587 STARTTLS, 465 SSL, 25 plain (sconsigliato)
- Hosting blocca outbound 587/465: alcuni hosting low-cost bloccano traffico SMTP outbound. Contatta il supporto o cambia hosting
- Email partono ma vanno in spam: il plugin funziona, il problema è DNS. Verifica SPF/DKIM/DMARC sul dominio del From
- Plugin attivo ma
mail()diretto continua a funzionare: alcuni script bypassanowp_mail(). Audit del codice e/o disabilitamail()a livello PHP
Quale scegliere
- Sito personale o piccolo, budget zero: FluentSMTP
- Agenzia che gestisce siti per clienti diversi, vuole UI riconoscibile: WP Mail SMTP Pro
- Sviluppatore che vuole controllo tecnico e OAuth2: Post SMTP
- Cliente Target SMTP con dominio italiano e volume costante: Target SMTP for WordPress
Riferimenti
- WP Mail SMTP su WordPress.org
- Post SMTP su WordPress.org
- FluentSMTP su WordPress.org
- wp_mail() reference
Qualunque plugin scegli, il valore di un setup SMTP corretto è proporzionale alla qualità del provider che invia davvero. Un plugin perfetto verso un IP shared scadente vale meno di un plugin medio verso un mittente con reputation solida. Target SMTP fornisce un IP pool segmentato per qualità, autenticazione DKIM su due selettori per rotazione zero-downtime e Send-Time Firewall che blocca invii anomali prima che WordPress possa danneggiare la reputation del dominio cliente.