0

初心者なのでアドバイスお願いします。事実 : pear のメールを使用してみてください。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!");}

    ?>

このエラーが発生します:

localhost:25 への接続に失敗しました [SMTP: ソケットの接続に失敗しました: ���� ���� ������ � ���������� ��������, �� ���� ����������� ���������� ���������� ������. (コード: -1、応答: )]

助けてください。チュートリアルを読みましたが、これを修正する方法がわかりません。実際、どこから始めればよいかわかりません。

ありがとう。

EDIT sendmailを使用するこれ(例のセクション)も試しましたが、次のことはわかりません

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

Sendmail にも smtp erver が必要ですか?

4

2 に答える 2

1

アドレスとして使用する場合は、 (ラップトップ) にメールサーバーがインストールされているlocalhostことを確認する必要があります。localhost

または、SendGrid などの電子メール送信サービスを使用して SMTP サーバーを使用するか、別の回答が示唆するように、ISP の SMTP サーバーを指すようにすることもできます。

于 2013-05-06T18:32:48.533 に答える
1

localhostメール サーバーのアドレスとして使用する場合、メール サーバーがインストールされlocalhostている必要があります。

メールサーバーをインストールする必要があります ( Devnullのような開発向けのものもあります) か、(一般的には簡単です) 送信目的で ISP の SMTP サーバーを指すようにするだけです。

于 2013-05-06T18:29:24.193 に答える