What best practices should be followed when setting up the email sending functionality in PHP to ensure emails are delivered successfully and avoid being flagged as spam by email providers?

When setting up email sending functionality in PHP, it is important to follow best practices to ensure successful delivery and avoid being flagged as spam. This includes setting up proper authentication, using a reputable email service provider, avoiding spam trigger words in the email content, and implementing proper email headers.

// Example PHP code snippet for setting up email sending functionality with PHPMailer

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    //Server 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;

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

    //Content
    $mail->isHTML(true);
    $mail->Subject = 'Subject';
    $mail->Body    = 'Email content goes here';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}