【发布时间】:2019-06-07 06:19:14
【问题描述】:
首先,这不是Language string failed to load: 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");
有什么想法吗?
【问题讨论】: