2011-09-17 59 views
1

我有這種形式PHP郵件不包括身體

<form method="POST" action="mailer.php"> 
    <div id="email"><input type="email" name="email" class="email" placeholder="[email protected]"></div> 
</form> 

而這個PHP

<?php 

$email = $_POST['email']; 
$to = "[email protected]"; 
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST"; 
$body = "\n\n"; 
$url = 'http://10.0.1.1/~ewiuf'; 
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
    echo '<script> alert("PLEASE ENTER A VALID EMAIL ADDRESS") </script>'; 
    echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">'; 
} else { 
    if (mail($to, $subject, $body)) { 
     echo '<script> alert("THANK YOU FOR SUBSCRIBING TO THE NEWSLETTER") </script>'; 
     echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">'; 
    } else { 
     echo '<script> alert("THERE WAS AN UNEXPECTED ERROR. PLEASE TRY AGAIN LATER") </script>'; 
     echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=' . $url . '">'; 
    } 
} 
?> 

爲什麼形式,這應該是電子郵件地址的內容,而不是被包括在主體腳本發送的電子郵件?該腳本發送,驗證,但用戶輸入表單的電子郵件地址不會發送給我。請幫助,謝謝。

回答

2

你需要告訴它發送給你的用戶的電子郵件。 試試這個:

<?php 
$email = $_POST['email']; 
$to = "[email protected]"; 
$subject = "ADD THIS EMAIL ADDRESS TO THE MAILING LIST"; 
$body = "User Email: ".$email; 
$url = 'http://10.0.1.1/~ewiuf'; 
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) 
{ 
echo '<script> alert("PLEASE ENTER A VALID EMAIL ADDRESS") </script>'; 
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">'; 
} 
else 
{ 
if (mail($to, $subject, $body)) { 
echo '<script> alert("THANK YOU FOR SUBSCRIBING TO THE NEWSLETTER") </script>'; 
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">'; 
} else { 
echo '<script> alert("THERE WAS AN UNEXPECTED ERROR. PLEASE TRY AGAIN LATER") </script>'; 
echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">'; 
} 
} 
?> 
2

$body = "\n\n";是你設置的唯一的地方或更改$body變量,這是你送的身體(第三個參數)的變量的mail功能。

在你的情況,我想你只想把電子郵件地址在身,所以你應該使用$body = $email;爲,或者只是使用$email代替$body作爲第三個參數來mail

0

您正在$ body中發送「\ n \ n」。 如果我得到你的問題吧,你可能要$電子郵件地址添加到它,就像 $身體=「\ n \ n」 + $電子郵件

希望幫助