0

我是初学者,请多多指教。事实:尝试使用梨的邮件并使其工作。我安装了 pear、mail 和 Net。我使用 Apache 2.2.22、PHP 5.3.13、Windows 7。整个系统本地安装在我的笔记本电脑上。这有什么区别吗?另外,我不知道我的 apache 是否支持 smtp。我以此为指导。

这是我的代码(尝试创建一个简单的“忘记密码”,未完成)

     <?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,响应:)]

请帮忙,我已经阅读了教程,但我不知道如何解决这个问题。实际上,我不知道从哪里开始。

谢谢。

编辑我也尝试了使用 sendmail 的这个(示例部分),但我不明白以下内容

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

sendmail也需要smtp erver?

4

2 回答 2

1

如果您想localhost用作您的邮件服务器的地址,localhost必须安装一个邮件服务器。

您需要安装一个邮件服务器(有一些面向开发的服务器,例如Devnull)或(通常更容易)将其指向您的 ISP 的 SMTP 服务器以进行发送。

于 2013-05-06T18:29:24.193 回答
1

如果要localhost用作地址,则需要确保localhost(您的笔记本电脑)安装了邮件服务器。

或者,您可以使用 SendGrid 之类的电子邮件发送服务并使用他们的 SMTP 服务器,或者作为另一个答案建议,将其指向您的 ISP 的 SMTP 服务器。

于 2013-05-06T18:32:48.533 回答