Oui, il est possible d’utiliser PHPMailer dans un style procédural, bien qu’il soit conçu principalement pour être utilisé avec une approche orientée objet. L’essentiel est d’instancier la classe et de configurer ses propriétés/méthodes dans un flux de code structuré de manière procédurale.
Voici un exemple simple montrant comment utiliser PHPMailer dans un style procédural :
Exemple d’utilisation de PHPMailer en style procédural
1. Installer PHPMailer
Vous pouvez l’installer via Composer :
composer require phpmailer/phpmailer
Ou télécharger la bibliothèque directement depuis PHPMailer GitHub.
2. Code en PHP procédural
<?php
// Inclure l'autoload de Composer ou le fichier PHPMailer
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php'; // Si installé via Composer
// require 'path/to/PHPMailer/src/PHPMailer.php'; // Si téléchargé manuellement
// require 'path/to/PHPMailer/src/Exception.php';
// Configuration de base
$mail = new PHPMailer(true); // Instancier PHPMailer
try {
// Paramètres du serveur SMTP
$mail->isSMTP();
$mail->Host = 'smtp.example.com'; // Adresse du serveur SMTP
$mail->SMTPAuth = true; // Activer l'authentification SMTP
$mail->Username = 'votre_email@example.com'; // Email SMTP
$mail->Password = 'votre_mot_de_passe'; // Mot de passe SMTP
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Encryption TLS
$mail->Port = 587; // Port SMTP
// Destinataires
$mail->setFrom('votre_email@example.com', 'Nom de l\'expéditeur');
$mail->addAddress('destinataire@example.com', 'Nom du destinataire');
// Contenu de l'email
$mail->isHTML(true); // Email au format HTML
$mail->Subject = 'Sujet de l\'email';
$mail->Body = 'Ceci est le contenu <b>HTML</b> de l\'email.';
$mail->AltBody = 'Ceci est le contenu texte brut de l\'email.';
// Envoyer l'email
if ($mail->send()) {
echo 'Email envoyé avec succès.';
} else {
echo 'L\'envoi a échoué.';
}
} catch (Exception $e) {
// Gérer les erreurs
echo "Erreur : {$mail->ErrorInfo}";
}
Explications :
• Approche procédurale : Chaque étape est exécutée séquentiellement dans un bloc unique. Vous appelez des méthodes ou définissez des propriétés directement sur l’objet $mail.
• Gestion des erreurs : L’approche try-catch permet de capturer les exceptions levées par PHPMailer.
Limitations de l’approche procédurale :
1. Moins structuré : Si vous avez de nombreuses configurations spécifiques, votre code peut devenir difficile à lire et à maintenir.
2. Réutilisabilité réduite : Contrairement à une approche orientée objet avec des classes ou des fonctions, il est moins facile de réutiliser ou d’adapter une configuration de base pour plusieurs emails.
Si votre projet est relativement simple, cette approche fonctionne parfaitement. Pour des projets plus complexes, il peut être préférable d’adopter une approche orientée objet en définissant des classes ou des fonctions réutilisables pour la configuration et l’envoi des emails.
Partager