Во-первых, это не дубликат Не удалось загрузить строку языка: 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");
Есть идеи?