Код почтовой программы Php отлично работает в xampp1.7.3, но не в xampp1.7.7 - PullRequest
1 голос
/ 28 января 2012

Следующий код работает в xampp1.7.3, но не работает в xampp1.7.7

Это программа почтовой программы

<?php
 require_once "Mail.php";
        $from = "username@gmail.com";
        $to = "username@gmail.com";
        $subject = "Hi!";
        $body = "Hi,\n\nHow are you?";
        $host = "smtp.gmail.com";
        $port = "587";
        $username = "username@gmail.com";
        $password = "pwd";
        $headers = array ('From' => $from,
          'To' => $to,
          'Subject' => $subject);
        $smtp =@ Mail::factory('smtp',
          array ('host' => $host,
            'port' => $port,
            'auth' => true,
            'username' => $username,
            'password' => $password));
        $mail = @$smtp->send($to, $headers, $body);
        if (@PEAR::isError($mail)) {
          echo("<p>" . $mail->getMessage() . "</p>");
         } else {
          echo("<p>Message successfully sent!</p>");
         }
?>

Это дает следующую ошибку в xampp1.7.7

authentication failure [SMTP: SMTP server does not support authentication (code: 250, response: mx.google.com at your service, [59.92.73.34] SIZE 35882577 8BITMIME STARTTLS ENHANCEDSTATUSCODES)]


Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 491

Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 265

Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 494

Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 497

В чем может быть проблема этой ошибки, дайте свои предложения.

если я добавлю ssl-шифрование с кодом порта 465, он выдаст некоторые другие ошибки Failed to connect to ssl://smtp.gmail.com:465 [SMTP: Failed to connect socket: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (code: -1, response: )] Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 491 Strict Standards: Non-static method PEAR::getStaticProperty() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\PEAR.php on line 871 Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 265 Strict Standards: Non-static method PEAR::raiseError() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Net\SMTP.php on line 267 Strict Standards: Non-static method PEAR::getStaticProperty() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\PEAR.php on line 871

...