2017-08-26 108 views
-1

我创建一个接触的形式,由于某种原因使用变量的时候,当我用变量的诠释,他的头不发送,电子邮件是没有得到发送。 这一个工程:电子邮件标题中

$first_name = (isset($_POST['firstname']) ? $_POST['firstname'] : null); 
$last_name = (isset($_POST['lastname']) ? $_POST['lastname'] : null); 
$email = (isset($_POST['email']) ? $_POST['email'] : null); 
$message = (isset($_POST['message']) ? $_POST['message'] : null); 
$mail_to = "MyEmail"; 
$subject = "Subject"; 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'From: '.$first_name.' '.$last_name.' <[email protected]>' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
mail($mail_to, $subject, $message, $headers) 

,这一次不

$first_name = (isset($_POST['firstname']) ? $_POST['firstname'] : null); 
$last_name = (isset($_POST['lastname']) ? $_POST['lastname'] : null); 
$email = (isset($_POST['email']) ? $_POST['email'] : null); 
$message = (isset($_POST['message']) ? $_POST['message'] : null); 
$mail_to = "MyEmail"; 
$subject = "Subject"; 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'From: '.$first_name.' '.$last_name.' <'.$email.'>'."\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
mail($mail_to, $subject, $message, $headers) 

我谈论这些行:

$headers .= 'From: '.$first_name.' '.$last_name.' <[email protected]>'."\r\n"; 
$headers .= 'From: '.$first_name.' '.$last_name.' <'.$email.'>'."\r\n"; 

这工作,直到我添加的电子邮件可变进头,有人能解释我做错了什么吗?

+0

下口...... https://stackoverflow.com/questions/11952473/proper-prevention-of-mail-injection-in-php –

+0

非常感谢你,我没有想到这一点。 – xX4m4zingXx

回答

0

尽量把变量您的名字里面调用<>

+0

你能否详细说说,我真的不明白你的意思。 – xX4m4zingXx