【问题标题】:PHPMailer - Language string failed to load - where does that execute?PHPMailer - 语言字符串加载失败 - 在哪里执行?
【发布时间】: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");

有什么想法吗?

【问题讨论】:

    标签: php phpmailer


    【解决方案1】:

    该消息意味着您使用的 PHPMailer 版本非常、非常旧、有问题、过时且易受攻击。更新到最新版本。

    【讨论】:

    • 我升级到最新版本,现在一切正常。谢谢同步。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2012-12-04
    • 1970-01-01
    • 2013-10-08
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多