#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. @айнбер обязательно попробует это и даст вам знать, спасибо.