0

アカウントの作成時に新しいユーザーにアクティベーションメールを送信するようにphpを取得しようとしています。私の問題は、このプロセスのコードではなく、php がメールを送信することです。

これまでのところ、Kubuntu デスクトップがインストールされた Ubuntu サーバー 12.04 に Xampp をインストールしました。sudo apt-get install php-pearコマンドを使用して pear もインストールしました。

最後にpostfixをインストールしました。ブラウザでページを読み込むと、次のエラーが表示されます。

非推奨: 参照による new の戻り値の割り当ては、55 行目の /opt/lampp/lib/php/Mail.php で非推奨です。

非推奨: 参照による new の戻り値の割り当ては、135 行目の /opt/lampp/lib/php/Mail.php で非推奨です。

厳格な基準: 167 行目の /opt/lampp/lib/php/Mail/smtp.php の互換性のないコンテキストから $this を想定して、非静的メソッド PEAR::isError() を静的に呼び出すべきではありません

厳格な基準: 非静的メソッド PEAR::isError() を静的に呼び出すべきではありません。これは、290 行目の /opt/lampp/lib/php/Net/SMTP.php の互換性のないコンテキストから $this を想定しているためです。

厳格な基準: 168 行目の /opt/lampp/lib/php/Mail/smtp.php の互換性のないコンテキストからの $this を想定して、非静的メソッド PEAR::raiseError() を静的に呼び出すべきではありません

お返事をありがとうございます!Heres私のコードにもかかわらず、私はまだいくつかの問題を抱えています:

<?php 
include("Mail.php"); 

$recipients = "noreply.njmedia@gmail.com"; 

$headers["From"]    = "noreply.njmedia@gmail.com"; 
$headers["To"]      = "noreply.njmedia@gmail.com"; 
$headers["Subject"] = "Test message"; 

$body = "TEST MESSAGE!!!"; 

$params["host"] = "smtp.google.com"; 
$params["port"] = "465"; 
$params["auth"] = true; 
$params["username"] = "noreply.njmedia@gmail.com"; 
$params["password"] = "gmailpassword(my real password is entered here)"; 

// Create the mail object using the Mail::factory method 
$mail_object =& Mail::factory("smtp", $params); 

$mail_object->send($recipients, $headers, $body); 
?>

デバッグの結果は次のとおりです。

object(PEAR_Error)#4 (8) {
  ["error_message_prefix"]=> string(0) ""
  ["mode"]=> int(1)
  ["level"]=> int(1024)
  ["code"]=> NULL
  ["message"]=> string(52) "unable to connect to smtp server smtp.google.com:465"
  ["userinfo"]=> NULL
  ["backtrace"]=> array(3) { [0]=> array(6) { ["file"]=> string(27) "/opt/lampp/lib/php/PEAR.php" ["line"]=> int(533) ["function"]=> string(10) "PEAR_Error" ["class"]=> string(10) "PEAR_Error" ["type"]=> string(2) "->" ["args"]=> array(5) { [0]=> string(52) "unable to connect to smtp server smtp.google.com:465" [1]=> NULL [2]=> int(1) [3]=> int(1024) [4]=> NULL } } [1]=> array(7) { ["file"]=> string(32) "/opt/lampp/lib/php/Mail/smtp.php" ["line"]=> int(169) ["function"]=> string(10) "raiseError" ["class"]=> string(4) "PEAR" ["object"]=> object(Mail_smtp)#1 (10) { ["host"]=> string(15) "smtp.google.com" ["port"]=> string(3) "465" ["auth"]=> bool(true) ["username"]=> string(25) "noreply.njmedia@gmail.com" ["password"]=> string(28) "Fakepasswordforstackoverflow" ["localhost"]=> string(9) "localhost" ["timeout"]=> NULL ["verp"]=> bool(false) ["debug"]=> bool(false) ["sep"]=> string(2) " " } ["type"]=> string(2) "->" ["args"]=> array(1) { [0]=> string(52) "unable to connect to smtp server smtp.google.com:465" } } [2]=> array(7) { ["file"]=> string(32) "/media/HDD2/NJmedia/mailtest.php" ["line"]=> int(23) ["function"]=> string(4) "send" ["class"]=> string(9) "Mail_smtp" ["object"]=> object(Mail_smtp)#1 (10) { ["host"]=> string(15) "smtp.google.com" ["port"]=> string(3) "465" ["auth"]=> bool(true) ["username"]=> string(25) "noreply.njmedia@gmail.com" ["password"]=> string(28) "Fakepasswordforstackoverflow" ["localhost"]=> string(9) "localhost" ["timeout"]=> NULL ["verp"]=> bool(false) ["debug"]=> bool(false) ["sep"]=> string(2) " " } ["type"]=> string(2) "->" ["args"]=> array(3) { [0]=> string(25) "noreply.njmedia@gmail.com" [1]=> array(3) { ["From"]=> string(25) "noreply.njmedia@gmail.com" ["To"]=> string(25) "noreply.njmedia@gmail.com" ["Subject"]=> string(12) "Test message" } [2]=> string(15) "TEST MESSAGE!!!" } } }
  ["callback"]=> NULL
}
4

1 に答える 1

1

コマンドを使用します:whereis pear

それはあなたにナシの道を与えるでしょう。

sudo  <the path where Pear is located>  install mail <br/>
sudo  <the path where Pear is located>  install Net_SMTP <br/>
sudo  <the path where Pear is located>  install Auth_SASL <br/>
sudo  <the path where Pear is located>  install mail_mime <br/>

私にとってはそうでした

sudo /opt/lampp/bin/pear install mail <br/>
sudo /opt/lampp/bin/pear install Net_SMTP <br/>
sudo /opt/lampp/bin/pear install Auth_SASL <br/>
sudo /opt/lampp/bin/pear install mail_mime <br/>

を使用して XAMP サーバーを再起動してください

開始ランプ

sudo /opt/lampp/lampp start

ストップランプ

sudo /opt/lampp/lampp stop

ありがとうございました

于 2012-11-03T11:48:49.263 に答える