【问题标题】:pear mail, setting and using梨邮件,设置和使用
【发布时间】:2013-04-30 13:22:28
【问题描述】:

我是初学者,请多多指教。 事实:尝试使用梨的邮件并使其工作。我安装了 pear、mail 和 Net。我使用 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,响应:)]

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

谢谢。

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

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

Sendmail 也需要 smtp 服务器?

【问题讨论】:

  • 你的笔记本电脑上运行邮件服务器吗?
  • 您仍然需要在本地运行 SMTP 服务器,因为您指定了“localhost”。
  • @ceejayoz 不,没有。只是 apache、php、postgreSQL。哦,还有地理服务器
  • 那么,localhost 是您希望处理电子邮件的地方吗?
  • @Marc B @ceejayoz 我刚刚编辑了我的问题...

标签: php email pear


【解决方案1】:

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

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

【讨论】:

  • 它表示您在问题中使用的是 Window - sendmail 不会像 windows 那样配置。 /usr/lib/sendmail 针对 Linux 用户。
  • @ajtrichards 你推荐什么(免费)邮件服务器?
  • 发送网格提供一个免费的包。或者,您可以谷歌“免费 Windows smtp 服务器”并选择一个您认为合适的 :)
【解决方案2】:

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

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

【讨论】:

  • @ceejayoz 你推荐什么(免费)邮件服务器?
  • @slevin 我在我的问题中链接到一个。
猜你喜欢
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
  • 2014-02-21
  • 2011-10-21
  • 2015-11-20
相关资源
最近更新 更多