PHP Mail SMTP Ошибка? - PullRequest
       3

PHP Mail SMTP Ошибка?

0 голосов
/ 11 ноября 2011

Это не совсем ошибка, потому что функция все еще работает, но если включена функция отчетов об ошибках E_ALL, и я отправляю несколько запросов по электронной почте в почтовую функцию, я получаю это уведомление, и я не уверен, стоит ли эта проблемарешение или нет.

Notice: Only variable references should be returned by reference in /usr/share/pear/Mail/mime.php

Когда я обнаруживаю ошибку, она сообщает об ошибке, которая была решена (или должна была быть) давным-давно.Я не уверен, что это имеет значение, но эта функция также отправляет запрос по электронной почте:

public static function sendEMailSMTP($args = array()) {

        if(self::_hasAdapter(get_class(), __FUNCTION__) )
            return self::_callAdapter(get_class(), __FUNCTION__, $args);

        $args += self::getEmailDefaults();
        $args = self::_applyFilter( get_class(), __FUNCTION__ , $args , array('event'=>'args'));

        if(is_array($args)){

            extract($args);

            $config=pv_getSiteEmailConfiguration();

            if(empty($smtp_username)){
                $smtp_username=$config['smtp_username'];
            }

            if(empty($smtp_password)){
                $smtp_password=$config['smtp_password'];
            }

            if(empty($smtp_host)){
                $smtp_host=$config['smtp_host'];
            }

            if(empty($smtp_port)){
                $smtp_port=$config['smtp_port'];
            }

            require_once "Mail.php";
            require_once 'Mail/mime.php';

            $stmp_info= array (
                'host' => $smtp_host,
                'port' => $smtp_port,
                'auth' => true,
                'username' => $smtp_username,
                'password' => $smtp_password
            );

            $headers = array (
                'From' => $sender,
                'To' => $receiver,
                'Subject' => $subject
            );


            if(!empty($args['carboncopy'])){
                $headers['Cc']=$args['carboncopy'];
                $receiver.=','.$args['carboncopy'];
            }

            if(!empty($args['blindcopy'])){
                $headers['Bcc']=$args['blindcopy'];
                $receiver.=','.$args['blindcopy'];
            }

            if(!empty($args['reply_to'])){
                $headers['Reply-To']=$args['reply_to'];
            }

            if(!empty($args['return_path'])){
                $headers['Return-Path']=$args['return_path'];
            }

            if(!empty($args['errors_to'])){
                $headers['Errors-To']=$args['errors_to'];
            }

            if(!empty($args['message_id'])){
                $headers['Message-ID']=$args['message_id'];
            }

            if(empty($text_message)){
                $text = strip_tags($message);
            } else {
                $text = $text_message;
            }

            if(empty($html_message)){
                $html = $message;
            } else {
                $html= $html_message;
            }

            $mime = new Mail_mime("\n");
            $mime->setTXTBody($text);
            $mime->setHTMLBody($html);
            if(!empty($attachment)){
                if(is_array($attachment)) {
                    foreach($attachment as $file) {
                        if(file_exists($file))
                            $mime->addAttachment($file , PVFileManager::getFileMimeType($file));
                    }//end foreach
                } else {
                    $mime->addAttachment($attachment, PVFileManager::getFileMimeType($attachment));
                }
            }

            $body = $mime->get();
            $headers = $mime->headers($headers);

            $smtp = Mail::factory('smtp', $stmp_info);
            $mail = $smtp->send($receiver, $headers, $body);
            self::_notify(get_class().'::'.__FUNCTION__, $args);
        }

    }//end sendEmailPHPSMTP

1 Ответ

2 голосов
/ 11 ноября 2011

Это означает, что библиотека Mail / Mime.php написана для устаревших стандартов php и, скорее всего, делает что-то вроде

$var =& new Obj();

В последних версиях PHP объекты всегда возвращаются в виде ссылок, поэтому при указании назначения ссылки появляется это предупреждение. Это не вредно, но должно быть исправлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...