What are some best practices for handling email addresses and sending messages in PHP?

When handling email addresses in PHP, it is important to validate user input to ensure it is a properly formatted email address. Additionally, when sending emails, it is recommended to use a library like PHPMailer to properly handle SMTP authentication and prevent common email issues such as being marked as spam.

// Validate email address
$email = "test@example.com";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // Email address is valid
} else {
    // Email address is invalid
}

// Send email using PHPMailer
require 'PHPMailer/PHPMailer.php';
require 'PHPMailer/SMTP.php';

$mail = new PHPMailer\PHPMailer\PHPMailer();
$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 = 'Subject';
$mail->Body = 'Email body';

if ($mail->send()) {
    echo 'Email sent successfully';
} else {
    echo 'Email not sent';
}