Неперехваченная ошибка: Вызов неопределенной функции PHPMailerPHPMailermail() в /home/stitchon/public_html/wp-включает/PHPMailer/PHPMailer.php:874

#php #phpmailer

Вопрос:

Я получаю вышеуказанную ошибку при отправке моей регистрационной формы. Я не совсем понимаю, что я упускаю из виду. Если бы я мог получить какое-то направление и помочь в этом, это было бы замечательно. Спасибо!

  858. private function mailPassthru($to, $subject, $body, $header, $params)
 859.     {
 860.    //Check overloading of mail function to avoid double-encoding       
 861.   if (ini_get('mbstring.func_overload') amp; 1) { // phpcs:ignore 
       PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated
 862.     $subject = $this->secureHeader($subject);
 863.   } else {
 864.      $subject = $this->encodeHeader($this->secureHeader($subject));        
 865.     }   
 866.      //Calling mail() with null params breaks         
 867.       $this->edebug('Sending with mail()');     
 868.       $this->edebug('Sendmail path: ' . ini_get('sendmail_path'));  
 869.       $this->edebug("Envelope sender: {$this->Sender}");   
 870.       $this->edebug("To: {$to}");    
 871.       $this->edebug("Subject: {$subject}");    
 872.       $this->edebug("Headers: {$header}");    
 873.       if (!$this->UseSendmailOptions || null === $params) {    
 874.            $result = @mail($to, $subject, $body, $header);   
 875.        } else {    
 876.            $this->edebug("Additional params: {$params}");               
 877.            $result = @mail($to, $subject, $body, $header, $params);
 878.        }
 879.            $this->edebug('Result: ' . ($result ? 'true' : 'false'));
 880.           return $resu< }

    /**
     * Output debugging info via a user-defined method.
     * Only generates output if debug output is enabled.
     *
     * @see PHPMailer::$Debugoutput
     * @see PHPMailer::$SMTPDebug
     *
     * @param string $str
     */
 

Комментарии:

1. Это дикое предположение, но я уверен, что mail() функция является проводной встроенный, который не может быть скомпилирован как дополнительный модуль, который, казалось бы, свидетельствуют о том, что вы используете общий хостинг-провайдера, который настроил PHP, чтобы полностью запретить использование этой функции с целью избежания злоупотреблений со стороны спамеров. В этом случае вам будет лучше использовать службу электронной почты на основе API, такую как Mailgun или Amazon SES.

2. 1) отбросьте @ , это лишнее. 2) добавьте перед почтой, он пытается создать пространство имен, когда почта на самом деле является встроенной функцией.

3. @AlexHowansky это определенно общий хостинг, и провайдер запретил использование функции, в итоге я использовал решение на основе API, и в настоящее время оно работает, спасибо.

4. @айнбер обязательно попробует это и даст вам знать, спасибо.