Hosting Web - Buone pratiche per l'invio delle email
Scopri perché la funzione PHP mail() è sconsigliata su un hosting condiviso e come configurare un invio SMTP autenticato
Obiettivo
Affinché le tue email arrivino correttamente ai destinatari, OVHcloud mette a disposizione un’infrastruttura dedicata all’invio in uscita, con filtraggio anti-spam automatico e monitoraggio continuo della reputazione dei server. Per sfruttarla pienamente, è consigliato inviare le tue email tramite SMTP autenticato anziché tramite la funzione PHP mail() nativa. Questo approccio garantisce che ogni email venga inviata con un’identità verificabile, migliorando in modo significativo la recapitabilità e riducendo il rischio di finire nello spam.
Questa guida ti presenta le buone pratiche e le raccomandazioni OVHcloud per inviare email in modo affidabile e sicuro da un hosting condiviso, sia che tu gestisca un sito WordPress, un altro CMS o un’applicazione PHP.
Prerequisiti
- Disporre di un’offerta di Hosting Web OVHcloud.
- Disporre di un indirizzo email associato al tuo nome a dominio (offerta MX Plan, Email Pro o Exchange). Se non ne hai ancora uno, consulta la guida Creare un account email con MX Plan.
Accesso allo Spazio Cliente OVHcloud
- Link diretto:
- Percorso di navigazione:
Web Cloud>Hosting> Seleziona il tuo hosting web
Procedura
1. mail() o SMTP autenticato: qual è la differenza per te?
Cosa fa OVHcloud per proteggere i tuoi invii
OVHcloud monitora costantemente la reputazione dei suoi server di invio e filtra automaticamente i messaggi sospetti, affinché le tue email legittime non ne risentano. Ma questa protezione ha un limite: la funzione PHP mail() non effettua alcun controllo sull’identità del mittente dichiarato nell’email (campo From:). Un’email inviata tramite mail() può quindi sembrare provenire da qualsiasi indirizzo, e questo è sufficiente ad attivare i filtri dei server destinatari (Gmail, Outlook, ecc.) e a compromettere la recapitabilità dei tuoi stessi invii.
Email senza una firma affidabile
La funzione mail() invia email senza garantire l’identità del mittente. I server destinatari (Gmail, Outlook, ecc.) verificano invece che l’email provenga effettivamente da un server autorizzato dal tuo dominio, grazie ai record SPF e DKIM. Con mail(), questa verifica spesso fallisce: il messaggio rischia allora di finire nello spam o di essere rifiutato.
L’invio tramite SMTP autenticato risolve questo problema: l’email viene inviata dal server OVHcloud autorizzato per il tuo dominio, con la firma corretta.
Un uso abusivo della funzione mail() può comportare il blocco automatico degli invii per il tuo hosting. Se noti che le tue email non partono più, consulta la guida Gestire l’invio delle email automatiche.
Moduli aperti: un ulteriore vettore di abuso
Un modulo di contatto accessibile pubblicamente, senza alcun meccanismo di protezione, è un bersaglio privilegiato per i bot. Questi lo sfruttano per generare l’invio di migliaia di email in pochi minuti tramite il tuo hosting, provocando il blocco dell’IP condiviso e danneggiando tutti i clienti del cluster.
Metti in atto le seguenti protezioni su qualsiasi modulo che generi un invio di email:
- Captcha: integra un sistema di verifica (Google reCAPTCHA v3, hCaptcha o un semplice calcolo aritmetico) per bloccare gli invii automatizzati.
- Limitazione della frequenza: limita il numero di invii per indirizzo IP lato server per evitare abusi a raffica.
- Validazione rigorosa degli input: verifica e ripulisci tutti i campi del modulo prima di utilizzarli in un’email, non fidarti mai dei dati inseriti dall’utente.
L’assenza di un captcha su un modulo di invio aperto è una delle cause più frequenti di blocco degli hosting condivisi per invio di spam. Questa protezione è indispensabile qualunque sia il metodo di invio utilizzato.
2. La buona pratica: utilizzare un account email OVHcloud con SMTP autenticato
Principio
Invia le tue email tramite una connessione SMTP autenticata verso il server di posta OVHcloud, utilizzando un account email associato al tuo dominio (ad esempio contact@mydomain.ovh).
Questo approccio presenta tre vantaggi principali:
- Autenticazione garantita: il server OVHcloud verifica la tua identità prima di accettare l’email.
- SPF e DKIM funzionanti: l’email viene inviata da un server autorizzato per il tuo dominio e firmata correttamente.
- Tracciabilità: ogni invio è associato a un account identificato, il che consente di intervenire rapidamente in caso di abuso.
Perché il campo From: deve appartenere al tuo dominio
Il campo From: della tua email deve obbligatoriamente contenere un indirizzo appartenente al tuo dominio (ad esempio contact@mydomain.ovh), e questo indirizzo deve corrispondere all’account SMTP utilizzato per l’autenticazione.
Se il From: non corrisponde al dominio autorizzato nel record SPF, o se la firma DKIM non corrisponde, i server di posta destinatari (Gmail, Outlook, ecc.) possono rifiutare l’email o classificarla come spam.
Per massimizzare la recapitabilità, verifica che i record SPF, DKIM e DMARC siano configurati correttamente nella tua zona DNS. Gmail e Yahoo Mail li richiedono ormai per i mittenti che inviano grandi volumi. Consulta le nostre guide:
Moduli di contatto: campo From: fisso e Reply-To: dell’utente
Un errore frequente consiste nell’inserire l’indirizzo email digitato dall’utente nel modulo direttamente nel campo From:. Ad esempio, un visitatore inserisce utente@gmail.com e lo script utilizza questo indirizzo come mittente.
Questo comportamento è errato per due motivi:
- Il record SPF del tuo dominio non autorizza i server Gmail (o qualsiasi altro fornitore terzo) a inviare a tuo nome → errore del controllo SPF.
- Invii "a nome di" un indirizzo che non ti appartiene → alto rischio di classificazione come spam o di rifiuto.
Lo schema corretto per un modulo di contatto:
In questo modo, quando rispondi all’email ricevuta, il tuo client di posta invia la risposta all’indirizzo dell’utente tramite il campo Reply-To:, senza compromettere l’autenticazione SPF/DKIM.
Ecco come adattare l’esempio PHPMailer per un modulo di contatto:
Non passare mai direttamente i dati di un modulo a PHPMailer senza una validazione preventiva. Utilizza filter_var() per l’indirizzo email e htmlspecialchars() + strip_tags() per i campi di testo, in modo da evitare le iniezioni di intestazioni email.
Parametri SMTP OVHcloud
Utilizza i seguenti parametri per il tuo account email MX Plan (incluso con l’hosting web):
Per le offerte Email Pro o Exchange, il server SMTP è diverso. Consulta la documentazione di ciascuna offerta per i parametri esatti.
Dove trovare le tue credenziali SMTP
Il nome utente SMTP è il tuo indirizzo email completo (ad esempio contact@mydomain.ovh).
La password è quella definita durante la creazione dell’indirizzo, o modificata dallo Spazio Cliente OVHcloud. Se l’hai dimenticata o desideri reimpostarla, consulta la guida Modifica la password di un indirizzo email.
L’offerta MX Plan inclusa con l’hosting web è soggetta a quote di invio (circa 200 email all’ora per account). Le soluzioni di posta non sono progettate per l’invio in grande quantità: per volumi elevati — newsletter o email transazionali in grande quantità — utilizza un servizio di invio transazionale di terze parti, dedicato a questo scopo.
Esempio di codice PHP con PHPMailer
PHPMailer è la libreria PHP di riferimento per l’invio di email tramite SMTP. Installala tramite Composer:
Ecco un esempio completo di invio SMTP autenticato:
Non memorizzare mai la password del tuo account email in chiaro in un file PHP versionato. Utilizza un file di configurazione escluso dal tuo repository Git (.gitignore).
Con questa configurazione, ogni email inviata dal tuo sito è:
- autenticata presso il server OVHcloud,
- firmata con i record SPF e DKIM del tuo dominio,
- tracciabile in caso di abuso o problema di recapitabilità.
3. WordPress e altri CMS: utilizzare un plugin SMTP
3.1 Il problema con WordPress di default
La funzione wp_mail() di WordPress utilizza in background la funzione PHP mail(). Eredita quindi tutti i problemi descritti nella sezione precedente: assenza di autenticazione, From: non controllato, rischio di spam.
La soluzione consiste nell’installare un plugin SMTP che sostituisce wp_mail() con una connessione SMTP autenticata verso il tuo server di posta OVHcloud.
3.2 Configurare WP Mail SMTP
WP Mail SMTP è il plugin più utilizzato per questa configurazione.
Installazione:
- Nella tua amministrazione WordPress, accedi a Plugin > Aggiungi nuovo plugin.
- Cerca
WP Mail SMTPe clicca su Installa ora, quindi su Attiva.
Configurazione:
- Accedi a WP Mail SMTP > Impostazioni nel menu di amministrazione.
- Nella sezione Mittente, compila i seguenti campi:
- Nella sezione Mailer, seleziona Altro SMTP.
- Compila i parametri SMTP:
- Clicca su Salva impostazioni.
- Nella scheda Strumenti, utilizza Test invio email per verificare la configurazione.
Attiva l’opzione Forza email del mittente affinché tutte le email in uscita utilizzino l’indirizzo configurato, anche se un plugin di terze parti tenta di utilizzarne un altro.
3.3 Alternativa: FluentSMTP
FluentSMTP è un’alternativa leggera e gratuita, senza limitazioni sul volume di invio.
Installazione:
- Nella tua amministrazione WordPress, accedi a Plugin > Aggiungi nuovo plugin.
- Cerca
FluentSMTPe clicca su Installa ora, quindi su Attiva.
Configurazione:
- Accedi a FluentSMTP > Impostazioni.
- Clicca su Aggiungi connessione e seleziona Altro SMTP.
- Compila gli stessi parametri di WP Mail SMTP:
- Clicca su Salva connessione, quindi invia un’email di test.
3.4 Altri CMS (Drupal, Joomla, PrestaShop)
Il principio è identico per qualsiasi CMS o framework: sostituire la funzione di invio nativa con un modulo o una configurazione SMTP autenticata.
In tutti i casi, i parametri SMTP da utilizzare sono identici: server smtp.mail.ovh.net, porta 465 (SSL/TLS) o 587 (STARTTLS), con autenticazione tramite l’indirizzo email completo e la relativa password.
Per saperne di più
Gestire l’invio delle email automatiche
Migliora la sicurezza delle email con un record SPF
Migliora la sicurezza delle email con un record DKIM
Migliora la sicurezza delle email con un record DMARC
Per prestazioni specializzate (posizionamento, sviluppo, ecc.) contatta i partner di OVHcloud.
Se desideri ricevere assistenza sull’utilizzo e la configurazione delle tue soluzioni OVHcloud, ti invitiamo a consultare le nostre diverse offerte di supporto.
Contatta la nostra Community di utenti.