Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMailer-无法加载语言字符串-在哪里执行?_Php_Phpmailer - Fatal编程技术网

PHPMailer-无法加载语言字符串-在哪里执行?

PHPMailer-无法加载语言字符串-在哪里执行?,php,phpmailer,Php,Phpmailer,首先,这不是一个复制品。我仔细研究了那篇文章,并尝试了这些建议,但我总是发现这样的错误: 无法加载语言字符串 重要提示:我可以让PHPMailer工作,这不是问题。 问题是,偶尔当phpmailer由于用户输入错误的密码、主机错误或其他原因而失败时,我会从phpmailer收到恼人的错误消息。因此,没有必要就如何使phpmailer成功工作给出建议-只要设置正确,我随时可以这样做。我想问的是,为什么在执行失败时我会收到这个令人讨厌的消息,我该如何解决它 以下是我尝试过的: $mail->set

首先,这不是一个复制品。我仔细研究了那篇文章,并尝试了这些建议,但我总是发现这样的错误:

无法加载语言字符串

重要提示:我可以让PHPMailer工作,这不是问题。

问题是,偶尔当phpmailer由于用户输入错误的密码、主机错误或其他原因而失败时,我会从phpmailer收到恼人的错误消息。因此,没有必要就如何使phpmailer成功工作给出建议-只要设置正确,我随时可以这样做。我想问的是,为什么在执行失败时我会收到这个令人讨厌的消息,我该如何解决它

以下是我尝试过的:

  • $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版本。更新至最新版本。

我已升级至最新版本,现在一切正常。谢谢你。