PHPMailer-无法加载语言字符串-在哪里执行?
首先,这不是一个复制品。我仔细研究了那篇文章,并尝试了这些建议,但我总是发现这样的错误: 无法加载语言字符串 重要提示:我可以让PHPMailer工作,这不是问题。 问题是,偶尔当phpmailer由于用户输入错误的密码、主机错误或其他原因而失败时,我会从phpmailer收到恼人的错误消息。因此,没有必要就如何使phpmailer成功工作给出建议-只要设置正确,我随时可以这样做。我想问的是,为什么在执行失败时我会收到这个令人讨厌的消息,我该如何解决它 以下是我尝试过的:PHPMailer-无法加载语言字符串-在哪里执行?,php,phpmailer,Php,Phpmailer,首先,这不是一个复制品。我仔细研究了那篇文章,并尝试了这些建议,但我总是发现这样的错误: 无法加载语言字符串 重要提示:我可以让PHPMailer工作,这不是问题。 问题是,偶尔当phpmailer由于用户输入错误的密码、主机错误或其他原因而失败时,我会从phpmailer收到恼人的错误消息。因此,没有必要就如何使phpmailer成功工作给出建议-只要设置正确,我随时可以这样做。我想问的是,为什么在执行失败时我会收到这个令人讨厌的消息,我该如何解决它 以下是我尝试过的: $mail->set
$mail->setLanguage(“en”,“PHPMailer/language/”)代码>
- 我验证了语言路径存在-我可以看到它
- 我找到了我的
(在phpmailer.lang en.php
)并在记事本中打开了它——一切看起来都很好phpmailer/language/
- 我使用Astrogrep搜索phpMail目录树的内容。字符串“Language string failed to load”(语言字符串未能加载)不存在,但显然,当邮件发送失败时,PHPMailer会发出该字符串
- 我打开
并找到函数class.phpmailer.php
,然后放置setLanguage()
die(“刚刚测试”)代码>作为函数的顶行。我做了一个测试。它不会被叫,也不会死
phpmailer.lang en.php
的位置,我可以很容易地解决这个问题,但我找不到它,也找不到错误字符串发出的位置。我可以看到它在setLanguage()
中被引用,但是这个函数显然没有被调用,所以我很困惑。如果有必要,我将PHPMailer加载到我的php脚本中:require_once(“PHPMailer/phpmailerautoad.php”)代码>
有什么想法吗?该消息意味着您正在使用非常、非常旧、有缺陷、过时且易受攻击的PHPMailer版本。更新至最新版本。我已升级至最新版本,现在一切正常。谢谢你。