What are the advantages of using libraries like PHPMailer for sending emails in PHP compared to custom functions?

When sending emails in PHP, using libraries like PHPMailer offers several advantages over creating custom functions. PHPMailer simplifies the process of sending emails by providing a well-documented and easy-to-use API, handling common email tasks such as attachments and HTML emails, and ensuring better security by preventing common vulnerabilities like header injection. Additionally, PHPMailer supports various email protocols and services, making it versatile for different email sending needs.

// Example PHP code using PHPMailer to send an email
require 'vendor/autoload.php'; // Include PHPMailer library

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

// Set up the email parameters
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'your@example.com';
$mail->Password = 'your_password';
$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 'Email sent successfully';
} else {
    echo 'Error sending email: ' . $mail->ErrorInfo;
}