What are the advantages of using a library like PHPMailer for sending emails compared to the built-in mail() function?

When sending emails in PHP, using a library like PHPMailer offers several advantages over the built-in mail() function. PHPMailer provides a more robust and secure way to send emails, with built-in support for SMTP authentication, HTML emails, attachments, and more. It also handles error handling and debugging more effectively, making it easier to troubleshoot email sending issues.

// Include the PHPMailer library
require 'path/to/PHPMailer/PHPMailerAutoload.php';

// Create a new PHPMailer instance
$mail = new PHPMailer;

// Set up the email parameters
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your@example.com';
$mail->Password = 'yourpassword';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

$mail->setFrom('from@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->Subject = 'Test Email';
$mail->Body = 'This is a test email sent using PHPMailer';

// Send the email
if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}