2010-09-18 2 views
0

У меня есть html-форму ссылок на электронную почту PHP. Форма работает хорошо, но у меня возникают проблемы с тем, что Cc и Bcc не проходят.PHP Form Review - Cc и Bcc не работает

Вот код целиком. Прочитайте и помогите мне понять, что я ошибаюсь в деталях Cc и Bcc в заголовках.

Благодарности:

<?php 
    $emailFromName = $_POST['name']; 
    $emailFrom = $_POST['email']; 
    $emailFromPhone = $_POST['phone']; 
    $email9_11 = $_POST['9-10']; 
    $email10_11 = $_POST['10-11']; 
    $email11_12 = $_POST['11-12']; 
    $email12_1 = $_POST['12-1']; 

    if (empty($emailFromName)) { 
     echo 'Please enter your name.'; 
    } elseif (!preg_match('/^([A-Z0-9\.\-_]+)@([A-Z0-9\.\-_]+)?([\.]{1})([A-Z]{2,6})$/i', $emailFrom) || empty($emailFrom)) { 
     echo 'The email address entered is invalid.'; 
    } else { 

     $emailTo = "[email protected]" ; 
     $subject = "Family History Conference Registration"; 


     if (!empty($emailFrom)) { 
    $headers = 'From: "' . $emailFromName . '" <' . $emailFrom . '>'; 
     } else { 
      $headers = 'From: Family History Conference <[email protected]>' . "\r\n"; 
      $headers .= 'Cc: $emailFrom' . "\r\n"; 
      $headers .= 'Bcc: [email protected]' . "\r\n"; 
     } 

     $body = "From: ".$emailFromName."\n"; 
     $body .= "Email: ".$emailFrom."\n"; 
     $body .= "Phone: ".$emailFromPhone."\n\n"; 
     $body .= "I would like to attend the following classes.\n"; 
     $body .= "9:10 to 10:00: ".$email9_11."\n"; 
     $body .= "10:10 to 11:00: ".$email10_11."\n"; 
     $body .= "11:10 to 12:00: ".$email11_12."\n"; 
     $body .= "12:10 to 1:00: ".$email12_1."\n"; 

     /* Send Email */ 
     if (mail($emailTo, $subject, $body, $headers)) { 
      echo "<h2>Thank you for Registering</h2> 
      <h3>You have registered for the following classes</h3> 
      <p>9:10 to 10:00am: \"$email9_11\" <br /> 
      10:10 to 11:00am: \"$email10_11\"<br /> 
      11:10 to 12:00: \"$email11_12\"<br /> 
      12:10 to 1:00: \"$email12_1\"</p> 
     <p>We look forward to seeing you October 31, 2010</p>"; 


     } else { 
      echo 'There was an internal error while sending your email.<br>'; 
      echo 'Please try again later.';  
     } 
    } 
?> 
+0

Что делать вам означает, что «не проходит»? Вы имеете в виду, что вы не можете видеть заголовки, когда получаете электронную почту, или не отправляет электронные письма на адреса CC'd? – NullUserException

+0

Он не отправляет электронные письма получателям cc и bcc. – fmz

ответ

1

Вы используете одиночные кавычки

$headers .= 'Cc: $emailFrom' . "\r\n"; 

PHP не интерпретирует переменные в одинарные кавычки, вы должны использовать двойные кавычки

$headers .= "Cc: $emailFrom\r\n"; 
+0

Я добавил двойные кавычки, но все равно не получаю электронные письма. Я пропустил что-то еще? – fmz

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