梨邮件,设置和使用

时间:2013-05-06 18:13:29

标签: php email pear

我是初学者,所以请指教。 事实:尝试使用梨的邮件并使其工作。我安装了梨,邮件和网络。我使用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!");}

    ?>

我收到此错误:

  

无法连接到localhost:25 [SMTP:无法连接套接字: , 。 (代码:-1,响应:)]

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

感谢。

EDIT 我也试过使用sendmail的this(示例部分),但我不理解以下

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

Sendmail还需要smtp erver吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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