2013-05-06 3 views
0

Я начинаю, поэтому, пожалуйста, советую. Факты: попробуйте использовать почтовую почту и заставить ее работать. Я установил грушу, почту и сеть. Я использую Apache 2.2.22, PHP 5.3.13, Windows 7. Вся система устанавливается локально на моем ноутбуке. Разве это имеет значение? Кроме того, я понятия не имею, поддерживает ли apache SMTP. Я использовал this в качестве ориентира.груша почта, установка и использование

Это мой код (попытаться создать простой "забыл пароль", не окончено)

 <?php 
    error_reporting(E_ALL); 
//connect to db 
    include_once('connection.php'); 
    include('Mail.php'); 
    //came from login form 
    $logf = $_POST['logf']; 

//query according to logf  
    $stmt = $dbh->prepare("SELECT mail FROM table where usrnm = :nm"); 
    $stmt->bindParam(':nm', $nm, PDO::PARAM_STR); 
    $nm=$logf; 

    $data=array('nm'=>$nm); 
    $result=$stmt->execute($data); 

     $d=0; 
     while ($row = $stmt->fetch()) { 
     $be[$d]=$row['mail']; 
     $d++;} 


     $mes="ελα"; 
      //mail came from query 
     $email = $be[0]; 
     $message = $mes; 

     $from = 'Website Enquiry '; 
     $to = "Hammy Goonan "; 
     $subject = "ανακτηση"; 
     $body = $message; 
     $host = "localhost"; 
     $headers = array ('From' => $from, 
      'To' => $to, 
      'Subject' => $subject 
     ); 
     $smtp = Mail::factory('smtp', 
      array ('host' => $host, 
       'auth' => false, 
       'port' => '25' 
      ) 
     ); 
     $mail = $smtp->send($to, $headers, $body); 
     if (PEAR::isError($mail)) {echo($mail->getMessage());} 
     else {echo("Message successfully sent!");} 

    ?> 

Я получаю эту ошибку:

Не удалось подключиться к локальной машине: 25 [SMTP : Не удалось подключить сокет: , . (код: -1, response:)]

Помощник Plese, я прочитал учебники, и я не знаю, как это исправить. На самом деле, я не знаю, с чего начать.

Спасибо.

EDIT Я также попытался this (раздел примеров), который использует Sendmail, но я не понимаю, следующий

$params['sendmail_path'] = '/usr/lib/sendmail'; 

Sendmail также нуждается в Smtp ERVER?

+1

У вас есть почтовый сервер, работающий на ноутбуке? – ceejayoz

+0

Вам по-прежнему нужен SMTP-сервер, работающий локально, так как вы указали «localhost». –

+0

@ceejayoz Нет, нет. Просто apache, php, postgreSQL. О, и geoserver – slevin

ответ

1

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

Вам необходимо либо установить почтовый сервер (есть некоторые ориентированные на развитие, такие как Devnull), либо (как правило, проще) просто указать его на SMTP-сервер вашего провайдера для отправки.

+0

@ ceejayoz какой (бесплатный) почтовый сервер вы предлагаете? – slevin

+0

@slevin Я связался с одним в своем вопросе. – ceejayoz

1

Если вы собираетесь использовать localhost в качестве адреса, вам необходимо убедиться, что localhost (ваш ноутбук) установлен почтовый сервер.

В качестве альтернативы вы можете использовать службу отправки электронной почты, такую ​​как SendGrid, и использовать их SMTP-сервер или в качестве другого предложения ответа, указать его на SMTP-сервер своего интернет-провайдера.

+0

@ ajtrichards Я только что отредактировал мой вопрос ... – slevin

+1

В нем говорится, что вы используете Окно в своем вопросе - sendmail не будет настроен так, как для окон. '/ usr/lib/sendmail' предназначен для пользователей Linux. – ajtrichards

+0

@ ajtrichards какой (бесплатный) почтовый сервер вы предлагаете? – slevin

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