Отправка email с сайта

Для сокрытия адреса почтового ящика от спамеров часто используются форму обратной связи, информация из которой поступает серверному скрипту, который уже сам отправляет почту адресату по известному только скрипту адресу, к примеру, php-функцией mail.
Функция mail позволяет отправлять письмо, указывая ему дополнительные заголовки, в которых можно прописать, в частности, адрес отправителя. В самом деле, почему бы не спросить у отправителя его почтовый адрес, чтобы ему в случае чего сразу отправить ответ через "Reply".
Итак, ловим данные и передаем их в функцию mail (обратный адрес из формы в переменной $sender_email):
mail ($admin_email, 'Письмо с сайта', $message, "From: ".$sender_email);
В чем тут проблема: дело в том, что последний аргумент функции mail представляет собой разделенные символами перевода строки заголовки. Нам кажется, что заголовок один — "From". Но представим, что хакер написал в качестве обратного адреса такой набор символов:
hacker@site.com
Cc: email@domain.com
Пусть вас не смущает, что данные введены в 2 строки, а в форме отправки для email было однострочное поле, не дающее писать текст в несколько строк. Как уже упоминалось во введении, все данные, поступающие снаружи, можно подделать. Так что данное письмо будет отправлено не только нам, но и на те email-адреса, который хакер укажет в "Cc:" или "Bcc:" (а он их там может указать сотню). И вот получите ситуацию — через нас рассылают спам.
Решение очевидно — запрещать отправку писем, если во введенном email-адресе используются символы перевода строки (n и r).