Hébergement web - Bonnes pratiques d'envoi d'e-mail

Voir en Markdown

Découvrez pourquoi la fonction PHP mail() est déconseillée sur un hébergement mutualisé et comment configurer un envoi SMTP authentifié

Objectif

Pour que vos e-mails arrivent bien chez vos destinataires, OVHcloud met en place une infrastructure dédiée à l’envoi sortant, avec filtrage anti-spam automatique et surveillance continue de la réputation des serveurs. Pour en tirer pleinement parti, il est recommandé d’envoyer vos e-mails via SMTP authentifié plutôt que via la fonction PHP mail() native. Cette approche garantit que chaque e-mail est émis avec une identité vérifiable, ce qui améliore nettement la délivrabilité et réduit le risque de classement en spam.

Ce guide vous présente les bonnes pratiques et recommandations OVHcloud pour envoyer des e-mails de façon fiable et sécurisée depuis un hébergement mutualisé, que vous gériez un site WordPress, un autre CMS ou une application PHP.

Prérequis


Accès à l’espace client OVHcloud

  • Lien direct :
  • Pour accéder à vos services : Web Cloud > Hébergements > Sélectionnez votre hébergement web

En pratique

1. mail() ou SMTP authentifié : quelle différence pour vous ?

Ce qu’OVHcloud fait pour protéger vos envois

OVHcloud surveille en permanence la réputation de ses serveurs d’envoi et filtre automatiquement les messages suspects — pour que vos e-mails légitimes n’en pâtissent pas. Mais cette protection a une limite : la fonction PHP mail() n’effectue aucun contrôle sur l’identité de l’expéditeur déclaré dans l’e-mail (champ From:). Un e-mail envoyé via mail() peut donc sembler provenir de n’importe quelle adresse, ce qui suffit à déclencher les filtres des serveurs destinataires (Gmail, Outlook, etc.) et à compromettre la délivrabilité de vos propres envois.

Des e-mails sans signature fiable

La fonction mail() envoie des e-mails sans garantir l’identité de l’expéditeur. Or les serveurs destinataires (Gmail, Outlook, etc.) vérifient que l’e-mail provient bien d’un serveur autorisé par votre domaine, grâce aux enregistrements SPF et DKIM. Avec mail(), cette vérification échoue souvent : le message risque alors d’être classé en spam ou rejeté.

L’envoi via SMTP authentifié résout ce problème : l’e-mail est émis par le serveur OVHcloud autorisé pour votre domaine, avec la bonne signature.

Warning

Un usage abusif de la fonction mail() peut entraîner le blocage automatique des envois pour votre hébergement. Si vous constatez que vos e-mails ne partent plus, consultez le guide « Suivre et gérer les e-mails automatisés de son hébergement web ».

Formulaires ouverts : un vecteur d’abus supplémentaire

Un formulaire de contact accessible publiquement, sans mécanisme de protection, est une cible privilégiée pour les robots. Ces derniers l’exploitent pour déclencher l’envoi de milliers d’e-mails en quelques minutes via votre hébergement, provoquant le blocage de l’IP partagée et nuisant à tous les clients hébergés sur le même serveur.

Mettez en place les protections suivantes sur tout formulaire qui déclenche un envoi d’e-mail :

  • Captcha : intégrez un système de vérification (Google reCAPTCHA v3, hCaptcha, ou un calcul arithmétique simple) pour bloquer les soumissions automatisées.
  • Limitation du débit : limitez le nombre d’envois par adresse IP côté serveur pour éviter les abus en rafale.
  • Validation stricte des entrées : vérifiez et nettoyez tous les champs du formulaire avant de les utiliser dans un e-mail — ne faites jamais confiance aux données saisies par l’utilisateur.
Warning

L’absence de captcha sur un formulaire d’envoi ouvert est l’une des causes les plus fréquentes de blocage des hébergements mutualisés pour envoi de spam. Cette protection est indispensable quelle que soit la méthode d’envoi.

2. La bonne pratique : utiliser un compte e-mail OVHcloud avec SMTP authentifié

Principe

Envoyez vos e-mails via une connexion SMTP authentifiée vers le serveur de messagerie OVHcloud, à l’aide d’un compte e-mail attaché à votre domaine (par exemple contact@mydomain.ovh).

Cette approche présente trois avantages majeurs :

  • Authentification garantie : le serveur OVHcloud vérifie votre identité avant d’accepter l’e-mail.
  • SPF et DKIM fonctionnels : l’e-mail est émis par un serveur autorisé pour votre domaine et signé correctement.
  • Traçabilité : chaque envoi est associé à un compte identifié, ce qui permet d’intervenir rapidement en cas d’abus.

Pourquoi le champ From: doit appartenir à votre domaine

Le champ From: de votre e-mail doit obligatoirement contenir une adresse appartenant à votre domaine (par exemple contact@mydomain.ovh), et cette adresse doit correspondre au compte SMTP utilisé pour l’authentification.

Si le From: ne correspond pas au domaine autorisé dans l’enregistrement SPF, ou si la signature DKIM ne correspond pas, les serveurs de messagerie destinataires (Gmail, Outlook, etc.) peuvent rejeter ou classer l’e-mail en spam.

Tip

Pour maximiser la délivrabilité, vérifiez que les enregistrements SPF, DKIM et DMARC sont bien configurés dans votre zone DNS. Gmail et Yahoo Mail les exigent désormais pour les expéditeurs à fort volume. Consultez nos guides :

Formulaires de contact : champ From: fixe et Reply-To: utilisateur

Une erreur fréquente consiste à placer directement l’adresse e-mail saisie par l’utilisateur dans le champ From:. Par exemple, un visiteur saisit utilisateur@gmail.com et le script utilise cette adresse comme expéditeur.

Ce comportement est incorrect pour deux raisons :

  • L’enregistrement SPF de votre domaine n’autorise pas les serveurs Gmail (ou tout autre fournisseur tiers) à envoyer en votre nom → échec du contrôle SPF.
  • Vous envoyez au nom d’une adresse qui ne vous appartient pas → risque élevé de classification en spam ou de rejet.

Le bon schéma pour un formulaire de contact :

Champ e-mailValeurRôle
From:contact@mydomain.ovh (adresse fixe du site)Expéditeur authentifié — ne change jamais
Reply-To:Adresse saisie par l’utilisateur dans le formulairePermet de répondre directement à l’utilisateur
Subject:Objet du message, préfixé (par exemple [Contact])Identifie facilement les messages du formulaire

Ainsi, quand vous répondez à l’e-mail reçu, votre client de messagerie envoie la réponse à l’adresse de l’utilisateur via le champ Reply-To:, sans compromettre l’authentification SPF/DKIM.

Voici comment adapter l’exemple PHPMailer pour un formulaire de contact :

// Données fournies par l'utilisateur (à valider et nettoyer avant utilisation)
$userEmail = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
$userName  = htmlspecialchars(strip_tags($_POST['name']));
$message   = htmlspecialchars(strip_tags($_POST['message']));

if (!$userEmail) {
    die('Invalid email address.');
}

// From : toujours fixe — l'adresse de votre site, jamais celle de l'utilisateur
$mail->setFrom('contact@mydomain.ovh', 'My Website');

// Reply-To : l'adresse de l'utilisateur, pour pouvoir lui répondre directement
$mail->addReplyTo($userEmail, $userName);

// Destinataire : vous-même (vous recevez le message du formulaire)
$mail->addAddress('contact@mydomain.ovh', 'My Website');

$mail->Subject = '[Contact] ' . $userName;
$mail->Body    = "Name: $userName\nEmail: $userEmail\n\nMessage:\n$message";
Tip

Ne passez jamais directement les données d’un formulaire dans PHPMailer sans validation préalable. Utilisez filter_var() pour l’adresse e-mail et htmlspecialchars() + strip_tags() pour les champs texte afin d’éviter les injections d’en-têtes e-mail.

Paramètres SMTP OVHcloud

Utilisez les paramètres suivants pour votre compte e-mail MX Plan (inclus avec l’hébergement web) :

ParamètreValeur
Serveur SMTPsmtp.mail.ovh.net
Port (SSL/TLS)465 (recommandé)
Port (STARTTLS)587
ChiffrementSSL/TLS (port 465) ou STARTTLS (port 587)
AuthentificationObligatoire
Nom d’utilisateurAdresse e-mail complète (par exemple contact@mydomain.ovh)
Mot de passeMot de passe du compte e-mail OVHcloud
Tip

Pour les offres E-mail Pro ou Exchange, le serveur SMTP est différent. Consultez la documentation de chaque offre pour les paramètres exacts.

Où trouver vos identifiants SMTP

Le nom d’utilisateur SMTP est votre adresse e-mail complète (par exemple contact@mydomain.ovh).

Le mot de passe est celui défini lors de la création de l’adresse, ou modifié depuis l’espace client OVHcloud. Si vous l’avez oublié ou souhaitez le réinitialiser, consultez le guide « Modifier le mot de passe d’une adresse e-mail ».

Warning

L’offre MX Plan incluse avec l’hébergement web est soumise à des quotas d’envoi (environ 200 e-mails par heure par compte). Les solutions de messagerie ne sont pas conçues pour l’envoi en masse : pour des volumes importants — newsletters ou e-mails transactionnels en masse — utilisez un service d’envoi transactionnel tiers, dédié à cet usage.

Exemple de code PHP avec PHPMailer

PHPMailer est la bibliothèque PHP de référence pour l’envoi d’e-mails via SMTP. Installez-la via Composer :

composer require phpmailer/phpmailer

Voici un exemple complet d’envoi SMTP authentifié :

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    // Paramètres du serveur SMTP OVHcloud
    $mail->isSMTP();
    $mail->Host       = 'smtp.mail.ovh.net';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'contact@mydomain.ovh'; // Votre adresse e-mail OVHcloud
    $mail->Password   = 'your_password';         // Mot de passe du compte e-mail
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // SSL/TLS
    $mail->Port       = 465;

    // Expéditeur : doit appartenir à votre domaine
    $mail->setFrom('contact@mydomain.ovh', 'My Website');
    $mail->addReplyTo('contact@mydomain.ovh', 'My Website');

    // Destinataire
    $mail->addAddress('mary.johnson@example.com', 'Recipient Name');

    // Contenu
    $mail->isHTML(true);
    $mail->Subject = 'Your email subject';
    $mail->Body    = 'Email body in <b>HTML</b>';
    $mail->AltBody = 'Email body in plain text (fallback)';

    $mail->send();
    echo 'Email sent successfully.';
} catch (Exception $e) {
    echo "Error while sending: {$mail->ErrorInfo}";
}
Warning

Ne stockez jamais le mot de passe de votre compte e-mail en clair dans un fichier PHP versionné. Utilisez un fichier de configuration exclu de votre dépôt Git (.gitignore).

Info

Avec cette configuration, chaque e-mail envoyé depuis votre site est :

  • authentifié auprès du serveur OVHcloud,
  • signé avec les enregistrements SPF et DKIM de votre domaine,
  • traçable en cas d’abus ou de problème de délivrabilité.

3. WordPress et autres CMS : utiliser un plugin SMTP

3.1 Le problème avec WordPress par défaut

La fonction wp_mail() de WordPress utilise en arrière-plan la fonction PHP mail(). Elle hérite donc de tous les problèmes décrits dans la section précédente : absence d’authentification, From: non contrôlé, risque de spam.

La solution consiste à installer un plugin SMTP qui remplace wp_mail() par une connexion SMTP authentifiée vers votre serveur de messagerie OVHcloud.

3.2 Configurer WP Mail SMTP

WP Mail SMTP est le plugin le plus utilisé pour cette configuration.

Installation :

  1. Dans votre administration WordPress, accédez à Extensions > Ajouter une extension.
  2. Recherchez WP Mail SMTP et cliquez sur Installer maintenant, puis sur Activer.

Configuration :

  1. Accédez à WP Mail SMTP > Paramètres dans le menu d’administration.
  2. Dans la section Expéditeur, renseignez les champs suivants :
ChampValeur
E-mail de l’expéditeurcontact@mydomain.ovh (adresse appartenant à votre domaine)
Nom de l’expéditeurNom affiché pour votre site (par exemple Mon Site Web)
  1. Dans la section Mailer, sélectionnez Autre SMTP.
  2. Renseignez les paramètres SMTP :
ChampValeur
Hôte SMTPsmtp.mail.ovh.net
ChiffrementSSL/TLS
Port SMTP465
AuthentificationActivée
Nom d’utilisateur SMTPcontact@mydomain.ovh
Mot de passe SMTPMot de passe de votre compte e-mail OVHcloud
  1. Cliquez sur Enregistrer les paramètres.
  2. Dans l’onglet Outils, utilisez Test d’envoi d’e-mail pour vérifier la configuration.
Tip

Activez l’option Forcer l’e-mail de l’expéditeur pour que tous les e-mails sortants utilisent l’adresse configurée, même si un plugin tiers tente d’en utiliser une autre.

3.3 Alternative : FluentSMTP

FluentSMTP est une alternative légère et gratuite, sans limitation sur le volume d’envoi.

Installation :

  1. Dans votre administration WordPress, accédez à Extensions > Ajouter une extension.
  2. Recherchez FluentSMTP et cliquez sur Installer maintenant, puis sur Activer.

Configuration :

  1. Accédez à FluentSMTP > Paramètres.
  2. Cliquez sur Ajouter une connexion et sélectionnez Autre SMTP.
  3. Renseignez les mêmes paramètres que pour WP Mail SMTP :
ChampValeur
Hôtesmtp.mail.ovh.net
Port465
ChiffrementSSL/TLS
AuthentificationOui
Nom d’utilisateurcontact@mydomain.ovh
Mot de passeMot de passe de votre compte e-mail OVHcloud
E-mail expéditeurcontact@mydomain.ovh
  1. Cliquez sur Enregistrer la connexion puis envoyez un e-mail de test.

3.4 Autres CMS (Drupal, Joomla, PrestaShop)

Le principe est identique pour tout CMS ou framework : remplacer la fonction d’envoi native par un module ou une configuration SMTP authentifiée.

CMSModule recommandé
DrupalSMTP Authentication Support
JoomlaConfiguration native : Système > Configuration globale > onglet Serveur > section Paramètres mail
PrestaShopParamètres avancés > E-mail — choisir Utiliser mes propres paramètres SMTP

Dans tous les cas, les paramètres SMTP à utiliser sont identiques : serveur smtp.mail.ovh.net, port 465 (SSL/TLS) ou 587 (STARTTLS), avec authentification par l’adresse e-mail complète et son mot de passe.

Aller plus loin

Suivre et gérer les e-mails automatisés de son hébergement web

Améliorer la sécurité des e-mails via un enregistrement SPF

Améliorer la sécurité des e-mails via un enregistrement DKIM

Améliorer la sécurité des e-mails via un enregistrement DMARC

Pour des prestations spécialisées (référencement, développement, etc.), contactez les partenaires OVHcloud.

Si vous souhaitez bénéficier d’une assistance à l’usage et à la configuration de vos solutions OVHcloud, nous vous proposons de consulter nos différentes offres de support.

Échangez avec notre communauté d’utilisateurs.

Cette page vous a-t-elle aidé ?