2013-07-10 2 views
0

Я пытался отправить почту, используя следующий метод. Но если я использую $headers, функциональность не работает. В противном случае он работает нормально. Где я ошибся?Отправка почты не работает

if(isset($_REQUEST['submit'])) 
{ 

$name=$_REQUEST['name']; 
$email=$_REQUEST['email']; 
$phone=$_REQUEST['phn']; 
$country=$_REQUEST['country']; 
$company=$_REQUEST['company']; 
$subject=$_REQUEST['subject']; 
$enquiry=$_REQUEST['message']; 

$subject = "xyz.com-".$subject; 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= "From: ".$name."\r\n"; 
$headers .= "Reply-To: ".$email."\r\n"; 

$msg=" 
<table><tr><td>Name</td><td>".$name."</td></tr> 
<tr><td>Email:</td><td>".$email."</td></tr> 
<tr><td>Contact Number:</td><td>".$phone."</td></tr> 
<tr><td>Country:</td><td>".$country."</td></tr> 
<tr><td>Company:</td><td>".$company."</td></tr> 
<tr><td>Message:</td><td>".$enquiry."</td></tr> 
</table>"; 

if(mail("[email protected]",$subject,$msg,$headers)) 
{ 
$msg1="Email Sent Successfully"; 

} 
else 
{ 
$msg1='Mail not sent. Please try again'; 

} 
} 
+0

Я думаю, что значение $ name в From: должно быть электронным письмом. –

+1

Всегда google перед отправкой .. – zzlalani

ответ

1

Изменение линии

$headers .= "From: ".$name."\r\n"; 

с

$headers .= "From: ".$name."<".$email.">"."\r\n"; 

Все остальное кажется хорошо, ура!

+2

Вам все равно понадобится '. =' Else, он перезапишет предыдущее объявление переменной и не добавит к нему. – James

+0

да, мой плохой, спасибо за идентификацию .. – zzlalani

+0

@zzlalani :: Пробовал это, но не работал. Если я удалю 'From', почта будет доставлена ​​без каких-либо проблем. – NaaN

0

Не используйте mail() напрямую, но найдите один из многих классов готовых почтовых отправлений из сети!

Как вы копаете глубже в почтовую рассылку, вы столкнетесь с большим количеством проблем, которые уже были адресованы в почтовых библиотеках, таких как PHPMailer или аналогичные.

Кроме того, ваш код является прекрасным примером «создания спам-почтового приложения», потому что он уязвим для атак на Mailheader-Injection!

Смежные вопросы