Créer un contact form avec PHPMailer
Créer un formulaire de contact fiable et sécurisé est essentiel pour tout site web professionnel. Dans cet article, nous allons voir comment utiliser PHPMailer pour envoyer des emails via SMTP de manière propre et sécurisée.
Pourquoi choisir PHPMailer ?
PHPMailer est une bibliothèque PHP puissante qui facilite l'envoi d'e-mails en utilisant les protocoles SMTP avec authentification, tout en gérant les formats HTML, les pièces jointes et la sécurité. C’est une alternative bien plus fiable que la fonction `mail()` native de PHP.
Préparer les fichiers nécessaires
Commencez par télécharger les fichiers suivants depuis le dépôt GitHub de PHPMailer :
- PHPMailer.php
- SMTP.php
- Exception.php
Placez-les dans un dossier nommé `PHPMailer` sur votre serveur ou dans le même dossier que votre formulaire.
Créer le formulaire HTML
Voici un exemple simple de formulaire HTML que vous pouvez adapter selon vos besoins :
<form method="post" action="contact.php">
<input type="text" name="name" placeholder="Votre nom" required><br>
<input type="email" name="email" placeholder="Votre email" required><br>
<input type="text" name="subject" placeholder="Sujet" required><br>
<textarea name="message" placeholder="Votre message" required></textarea><br>
<button type="submit" name="sendmail">Envoyer</button>
</form>
Le script PHP avec PHPMailer
Voici un exemple complet d’envoi d’e-mail avec PHPMailer :
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/PHPMailer.php';
require 'PHPMailer/SMTP.php';
require 'PHPMailer/Exception.php';
if(isset($_POST['sendmail'])) {
$name = htmlspecialchars($_POST['name']);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$subject = htmlspecialchars($_POST['subject']);
$message = htmlspecialchars($_POST['message']);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
exit('Adresse email invalide.');
}
$mail = new PHPMailer;
$mail->CharSet = 'UTF-8';
$mail->isSMTP();
$mail->Host = 'votre-serveur-smtp';
$mail->SMTPAuth = true;
$mail->Username = 'votre-email@example.com';
$mail->Password = 'votre-mot-de-passe';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->setFrom($mail->Username, $name);
$mail->addAddress('destinataire@example.com');
$mail->addReplyTo($email, $name);
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = nl2br($message);
if($mail->send()) {
echo "Message envoyé avec succès !";
} else {
echo "Erreur : " . $mail->ErrorInfo;
}
}
?>
Démo et téléchargement
Conclusion
Avec PHPMailer, vous pouvez créer facilement un formulaire de contact professionnel, sécurisé et compatible avec les serveurs modernes. Ce type de contenu gratuit et clair reflète notre volonté de vous proposer toujours plus de qualité… et ce n’est que le début ! Découvrez notre boutique pour encore plus de solutions prêtes à l’emploi.