2014-01-27 4 views
0

Почему я не могу использовать следующий файл php. Мой хостинг использует хост Windows. Он имеет 500 внутренних ошибок при отправке. Но я могу отправить его на другой сервер. Я ценю, если кто-нибудь может мне помочь.PHP почта не работает 500 внутренняя ошибка

<?php 
header('Content-Type: text/html; charset=utf8'); 
if(!isset($_POST['submit'])) 
{ 

} 

$name_c = $_POST['name_c']; 
$name_e = $_POST['name_e']; 
$visitor_email = $_POST['email']; 
$phone = $_POST['phone']; 






$email_from = '[email protected]';//<== update the email address 
$email_subject = 'New Form submission'; 
$email_body = "INfo: <br> 
name: $name_c.<br>"; 


$to = "[email protected]";//<== update the email address 

//$headers = "From: Me \r\n"; 
//$headers .= "Reply-To: $email_from \r\n"; 
$sCharset = 'utf-8'; 
$headers = "Content-type: text/html; charset=$sCharset\r\n" . 
"From: Fuzinewsletter \r\n" . 
"Reply-To: $email_from \r\n"; 


//Send the email! 
mail($to,$email_subject,$email_body,$headers); 
//done. redirect to thank-you page. 
header('Location: thank-you.html'); 
"; 


?> 

ответ

0

У вас есть "; в конце файла, что приводит к ошибке синтаксического анализа:

Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN)

Попробуйте удалить это.

0

У вас есть много кода мусора, который я вижу ... Используйте этот метод для отправки электронной почты.

Также обратите внимание на наличие ошибок PHP с помощью error_reporting(E_ALL); или проверить Apache журналы ошибок

function sendMail($email, $subject, $message) 
{ 
    $supportEmail = '[email protected]'; 
    $from = 'Abc'; 
    $msg = $message; 
    $from = str_replace(' ', '-', $from); 
    $frm = $from.' <'.$supportEmail.'>'; 
    preg_match("<(.*)@(.*\..*)>", $frm, $match); 

    ///////////////////Headers///////////////// 
    $hdr=''; 
    $hdr.='MIME-Version: 1.0'."\n"; 
    $hdr.='content-type: text/html; charset=iso-8859-1'."\n"; 
    $hdr.="From: {$frm}\n"; 
    $hdr.="Reply-To: {$frm}\n"; 
    $hdr.="Message-ID: <".time()."@{$match[2]}>\n"; 
    $hdr.='X-Mailer: PHP v'.phpversion(); 
    [email protected]($email, $subject, $msg, $hdr); 
    if($x==0) 
    { 
     $email=str_replace('@','\@', $email); 
     $hdr=str_replace('@','\@',$hdr); 
     [email protected]($email, $subject, $msg, $hdr); 
    } 
    return $x; 
} 
Смежные вопросы