What are some common pitfalls to avoid when sending emails programmatically in PHP?

One common pitfall to avoid when sending emails programmatically in PHP is not properly sanitizing user input, which can lead to security vulnerabilities such as SQL injection or cross-site scripting attacks. To mitigate this risk, always validate and sanitize user input before using it in email headers or content.

// Sanitize user input before using it in email headers
$subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);
$to = filter_var($_POST['to'], FILTER_SANITIZE_EMAIL);
$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);

// Send email
mail($to, $subject, $message);