PHPMailer - Не удалось загрузить языковую строку - где это выполняется? - PullRequest
0 голосов
/ 12 января 2019

Во-первых, это не дубликат Не удалось загрузить строку языка: from_failed [from_email_address] . Я внимательно изучил этот пост и попробовал предложения, но всегда получаю эту ошибку:

Не удалось загрузить языковую строку

Важно: я могу заставить PHPMailer работать, это не проблема.

Проблема заключается в том, что в случаях, когда phpmailer дает сбой из-за того, что пользователь ввел неправильный пароль или неправильно указал хост, или что-то в этом роде, я получаю это досадное сообщение об ошибке от phpmailer. Поэтому нет необходимости давать советы о том, как заставить phpmailer работать успешно - я всегда могу сделать это, когда настройки правильные. Я спрашиваю, почему я получаю это противное сообщение, когда выполнение не удается, и как я могу его разрешить?

Вот что я пробовал:

  • $mail->setLanguage("en", "PHPMailer/language/");
  • Я подтвердил, что языковой путь существует - я его вижу.
  • Я нашел свой phpmailer.lang-en.php (внутри PHPMailer/language/) и открыл его в блокноте - все выглядит нормально.
  • Я использовал Astrogrep для поиска содержимого моего дерева каталогов PHPMailer. Строка «Не удалось загрузить языковую строку» нигде не существует - и все же ясно, что PHPMailer отправляет эту строку при сбое отправки почты.
  • Я открыл class.phpmailer.php и нашел функцию setLanguage(), и поместил die("just testing"); в качестве верхней строки функции. Я провел тест. Он не вызывается и не умирает.

Если бы я мог найти, где phpmailer.lang-en.php вызывается или на который ссылаются, я мог бы легко решить эту проблему, но я не могу найти ее и не могу найти, куда выдается эта строка ошибки. Я вижу, что на него ссылаются внутри setLanguage(), но эта функция, по-видимому, не вызывается, поэтому я сбит с толку. В случае, если это имеет значение, я загружаю PHPMailer в свой скрипт php таким образом: require_once("PHPMailer/PHPMailerAutoload.php");

Есть идеи?

1 Ответ

0 голосов
/ 12 января 2019

Это сообщение означает, что вы используете очень, очень старую, с ошибками, устаревшую и уязвимую версию PHPMailer. Обновление до последней версии.

...