The simplest thing as far as header injection is concerned is to reject any user inputs that contain a carriage return or newline, other that for data that is supposed to allow that, such as the message text to be used in the body of the email. At its crudest:
if(preg_match('/[\r\n]/', $_POST['email']))
{
die("Illegal character in email address");
}
Obviously you could do more to make the exit more graceful, but then no legitimate user should be able to get newlines into your email field to begin with.