What are the advantages of using libraries like PHPMailer or PEAR Mail for email sending in PHP, and how do they compare to the built-in mail() function?

Using libraries like PHPMailer or PEAR Mail for email sending in PHP provides advantages such as better support for various email protocols, easier handling of attachments and HTML emails, improved security features, and more reliable error handling compared to the built-in mail() function.

// Example code using PHPMailer library for sending emails
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your@example.com';
$mail->Password = 'yourpassword';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

$mail->setFrom('from@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->Subject = 'Subject of the email';
$mail->Body = 'Body of the email';

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