What are the advantages of using a Mailer class like PHP-Mailer over the mail() function in PHP?

Using a Mailer class like PHP-Mailer over the mail() function in PHP offers several advantages, such as better support for attachments, HTML emails, SMTP authentication, and error handling. PHP-Mailer simplifies the process of sending emails and provides more flexibility and control over the email sending process.

// Example of sending an email using PHP-Mailer
require 'vendor/autoload.php'; // Include PHP-Mailer library

// Create a new PHPMailer instance
$mail = new PHPMailer\PHPMailer\PHPMailer();

// Set up the SMTP settings
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your@example.com';
$mail->Password = 'your_password';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

// Set the sender and recipient
$mail->setFrom('from@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');

// Set email content
$mail->isHTML(true);
$mail->Subject = 'Test Email';
$mail->Body = 'This is a test email';

// Send the email
if($mail->send()) {
    echo 'Email sent successfully';
} else {
    echo 'Error sending email: ' . $mail->ErrorInfo;
}