Envois de mails depuis un site

De
Sauter à la navigation Sauter à la recherche

Envois de mails depuis un site

L'envoi de mails depuis un site doit se faire:

Particularités:

  • Pour des raisons de sécurité, la fonction `mail()` de PHP qui ne requiert aucune authentification est désactivée sur nos serveurs mutualisés
  • A partir de PHP 5.6, il faut utiliser votre nom d'hôte en tant que serveur

Chaque CMS ou script dispose de son propre moyen d'envoyer des emails. Nous vous invitons à consulter notre article pour voir comment configurer le votre : https://blog.haisoft.fr/connaissances/configurer-lenvoi-demail-via-smtp-pour-votre-site/

Si votre site ne possède pas de méthode d'envoi SMTP intégrée, voici d'autres méthodes comment coder un formulaire d'envoi d'email : Envoi d'email authentifié via PHP ou Perl

Partez du principe que vous configurez un logiciel de messagerie distant. La configuration est donc similaire à celle que vous trouverez sur cette page : Configuration manuelle. Vous pouvez également utiliser une adresse email externe tant que vous utilisez SMTP, néanmoins, il est conseillé d'utiliser une adresse de votre domaine.

Configuration sécurisée

Cette configuration est recommandée :

Configuration 1) SSL/TLS

  • Serveur: srvXX.haisoft.net (remplacer par votre nom d'hôte)
  • Port: 465
  • Chiffrement (sécurité): SSL/TLS (attention, certains programmes appellent "TLS" ce qui est en fait du "STARTTLS", dans quel cas, cela ne fonctionne pas sur le port 465 et il faut donc choisir "SSL")
  • Authentification: Oui
  • Identifiant: votreadresse@votredomaine.com
  • Mot de passe: MotDePasseDeLadresse

Configuration 2) STARTTLS

  • Serveur: srvXX.haisoft.net (remplacer par votre nom d'hôte)
  • Port: 587
  • Chiffrement (sécurité): STARTTLS (souvent appelé "TLS")
  • Authentification: Oui
  • Identifiant: votreadresse@votredomaine.com
  • Mot de passe: MotDePasseDeLadresse

Configuration legacy

Avant PHP 5.6, il était courant d'utiliser les paramètres suivants, qui sont désormais à mettre à jour et à éviter :

  • Serveur: `localhost` ou `127.0.0.1`
  • Port: 25
  • Chiffrement (sécurité): Aucun
  • Authentification: Oui
  • Identifiant: votreadresse@votredomaine.com
  • Mot de passe: MotDePasseDeLadresse

Cette configuration est désormais incorrecte car :

  • Utiliser `localhost` ou `127.0.0.1` alors que le certificat de votre serveur de mails est donné pour son Nom d'hôte va générer des erreurs de certificats et empêcher PHP 5.6 et supérieurs d'envoyer des emails, sauf si une directive permettant d'ignorer les certificats invalide est présente.
  • Il n'y a pas de chiffrement, si les données sont interceptées, elles peuvent être déchiffrées.

Diagnostic

Si votre envoi ne fonctionne pas, il faut en premier lieu vérifier les paramètres suivants :

  • L'adresse expéditrice est-elle la même que l'adresse de connexion, et cette dernière a-t-elle bien été crée dans le Panneau de contrôle Plesk ?
  • Avez-vous indiqué l'adresse email de la personne remplissant le formulaire de contact en "From:" ? Attention, ne vous prenez pas sur cet expéditeur, vous n'avez pas le droit d'envoyer un mail en tant que lui. Si vous désirez pouvoir lui répondre simplement, il faut indiquer son adresse en Reply-To.
  • Votre version de PHP est-elle supérieure ou égale à 5.6 ? Si oui, il faut utiliser votre nom d'hôte comme serveur (Exemple: srvXX.haisoft.net)
  • L'identifiant et le mot de passe sont-ils corrects ? Attention, votre identifiant est votre adresse mail complète. Pour changer le mot de passe, voir Changer un mot de passe email
  • Essayez-vous d'envoyer votre mail via PHP mail() ? Cette méthode est trop insécurisée et est désactivée chez HaiSoft
  • Avez-vous renseigné un port correct ? Rappel: Port 25 sans SSL/TLS, Port 465 en SSL, Port 587 en TLS