要过滤有效的电子邮件以在收件人电子邮件字段中使用,请查看
filter_var():
$email = filter_var($_POST['recipient_email'], FILTER_VALIDATE_EMAIL);if ($email === FALSE) { echo 'Invalid email'; exit(1);}这样可以确保您的用户仅提供有效的单一电子邮件,然后您可以将其传递给该
mail()功能。据我所知,没有办法使用PHP
mail()函数通过消息主体插入标头,因此数据不需要任何特殊处理。
更新:
根据的文档
mail(),当它直接与SMTP服务器通信时,您将需要阻止消息正文中的句号:
$body = str_replace("n.", "n..", $body);更新#2:
显然,也可以通过主题进行注入,但是由于没有
FILTER_VALIDATE_EMAIL_SUBJECT,您需要自己进行过滤:
$subject = str_ireplace(array("r", "n", '%0A', '%0D'), '', $_POST['subject']);


