What are common pitfalls when using PHP to send newsletters via email?

One common pitfall when using PHP to send newsletters via email is not properly sanitizing user input, which can lead to security vulnerabilities such as email injection attacks. To solve this issue, 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);
$recipient = filter_var($_POST['recipient'], FILTER_SANITIZE_EMAIL);

// Send email
$headers = 'From: newsletter@example.com' . "\r\n";
mail($recipient, $subject, 'Newsletter content', $headers);