What potential pitfalls can arise when sending HTML emails using PHP's mail function?

One potential pitfall when sending HTML emails using PHP's mail function is that the HTML content may not display correctly in all email clients. To ensure better compatibility, you can use a library like PHPMailer which provides better support for HTML emails and attachments.

// Example using PHPMailer to send HTML email
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php'; // Include PHPMailer autoload file

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

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

// Set the email content
$mail->isHTML(true);
$mail->Subject = 'Subject of the email';
$mail->Body = '<h1>This is an HTML email</h1><p>Here is some content.</p>';

// Add recipients
$mail->setFrom('from@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');

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