Нужна помощь в скрипте контакта php с вложением файла - PullRequest
0 голосов
/ 27 июля 2011

Я скачал контактный скрипт (с вложенным файлом) из net.i запускаю его в wamp (pc), но когда я нажимаю Отправить, он показывает эту ошибку. Можете ли вы помочь мне с этой ошибкой

Предупреждение: mail () [function.mail]: Не удалось подключиться к почтовому серверу через порт «localhost» 25, проверить настройки SMTP и smtp_port в php.ini или использовать ini_set () в C: \ wamp \ www \ contact.php on line 38 Позвоните S

и скажите, пожалуйста, сработает ли приведенный ниже скрипт или нет, если вы не можете предложить хорошую контактную форму с вложенным файлом

  <form action="" enctype="multipart/form-data" method="post">

  <label for="name">Name:</label><br/>
   <input type="text" id="name" name="name" /><br/>

  <label for="email">Email address:</label><br/>
     <input type="text" id="email" name="email" /><br/>

    <label for="topic">Subject:</label><br/>
   <input type="text" id="topic" name="topic" /><br/>
   <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
  <label>Upload a Menu:</label>
  <input type="file" name="file" size="20"><br>


  <label for="comments">Your comments:</label><br/>
  <textarea id="comments" name="comments" rows="5" cols="30"></textarea><br/>

   <button name="submit" type="submit">Send</button>

  </form>
  <?php
  if(isset($_POST['submit']))
   {
    // Pick up the form data and assign it to variables
    $name = $_POST['name'];
    $email = $_POST['email'];
    $topic = $_POST['topic'];
    $comments = $_POST['comments'];

    // Build the email (replace the address in the $to section with your own)
     $to = 'my@email.com';
     $subject = "Contact: $topic";
     $message = "$name said: $comments";
     $headers = "From: $email";

    // Send the mail using PHPs mail() function
   mail($to, $subject, $message, $headers);

  // Redirect
   echo('<br> your mail has been send<br>');
   }
  ?>

Ответы [ 3 ]

1 голос
/ 27 июля 2011

Как сказал Дэн Гроссман, ваш код в порядке, и вы получаете сообщение об ошибке SMTP settings.Я попытаюсь объяснить, как вы можете исправить эти настройки и настроить свой локальный хост для использования вашего gmail (или любого другого внешнего SMTP-сервера) для отправки электронных писем.

Сначала вам нужно найти файл php.ini и установитьsendmail_path, что-то вроде:

sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"

Найдите sendmail.ini в папке «Sendmail» в вашей установке WAMP и добавьте следующее:

smtp_server=localhost
smtp_port=25
default_domain=gmail.com
auth_username=[yourgmailname]@gmail.com
auth_password=[yourgmailpassword]

Перезагрузите сервер.Теперь он должен иметь возможность отправлять электронную почту.

1 голос
/ 27 июля 2011

В коде нет ничего плохого, и переключение на другой скрипт не поможет.

Проблема в том, что на вашем компьютере не работает почтовый сервер для отправки почты.

0 голосов
/ 27 июля 2011

Ваша проблема связана с функцией рассылки, а не с отправкой формы.

Получить помощь в изменении вашего php.ini

...