2012-01-05 4 views
-2

Функция mail($to, $subject, $message, $from); не работает в коде ниже.почта() функция не работает на php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     <html xmlns="http://www.w3.org/1999/xhtml"> 
     <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
     <title>Untitled Document</title> 
     </head> 
     <body> 
     <?php 
     if ($_POST['Gender'] = 'M') { 
      $prefix = 'Mr.'; 
     }else if($_POST['Gender'] = 'F') { 
      $prefix = 'Miss/ Mrs.'; 
     } 

     $start1 = "The message: " . $_POST['Subject'] . "/n Was sent to you at " . date('l jS \of F Y h:i:s A'); 
     $sender = "By: " . $prefix . " " . $_POST['Name']; 
     $content = "The message : /n /n" . $_POST['Massage']; 
     $sufix = "To reply to this email: " . $_POST['Email']; 
     $from = $_POST['Email']; 

     $to = "[email protected]"; 
     $subject = "You have a new massage on mybataba.com" . $_POST['Subject']; 
     $message = $start1 . $sender . $content . $sufix 

     mail ($to, $subject, $message, $from); 
     ?> 
     </body> 
     </html> 
+1

Что происходит, когда он работает? какие ошибки вы получаете? вы настроили что-нибудь, чтобы заставить это работать? т.е. smtp host? – ManseUK

+0

это просто говорит мне о проблеме в строке 27 (как на Dreamweaver, так и на http://ideone.com/Xjopo) –

+0

Какую ОС вы используете? и что строка 27? – ManseUK

ответ

0

Вы либо есть проблема программирования (ошибки будут выброшены)

ИЛИ

Вы должны подтвердить ваши настройки почты корректны в PHP.INI, сводится к тому, программное обеспечение сервера настроен на отправку сообщения по почте, а также ОТПРАВИТЬ на PHP.

После того, как вы убедитесь, что ваш сервер настроен правильно ваш PHP mail() будет работать

EDIT

Просто заметил также, что вам не хватает ; на этой линии:

$message = $start1 . $sender . $content . $sufix 
1
$message = $start1 . $sender . $content . $sufix 

должно быть

$message = $start1 . $sender . $content . $sufix; 

Вот почему вы получите ошибку

Parse error: syntax error, unexpected T_STRING in /home/R6iJfd/prog.php on line 27

+0

Большое спасибо ... Его раздражает то, как маленький штат вроде этого может вызвать так много неприятностей на php ... –

1

$from должен быть заголовок. Итак, вам нужно написать следующее:

$from = 'From: '.$_POST['Email']; 

У вас есть еще одна проблема, но это не связано с почтой:

if ($_POST['Gender'] = 'M') { 

Должно быть:

if ($_POST['Gender'] == 'M') {