【问题标题】:PHPmailer multiple recipients errorPHPmailer多个收件人错误
【发布时间】:2010-02-17 00:25:06
【问题描述】:

我在 PHPmailer 中有以下代码:

$tomailn[0] = 'imap2@gazler.com';
$tomailn[1] = 'imap@gazler.com';
foreach($tomailn as $value)
{
$mail->AddAddress($value, '');
}

但我收到错误“无法实例化邮件功能”。

如果我从数组中删除一个项目,它可以正常工作,但在尝试添加 2 个或更多地址时会出错。任何想法为什么会发生这种情况?有没有其他方法可以添加多个电子邮件地址?

干杯, 加兹勒。

【问题讨论】:

  • 你能发布一个链接到你正在使用的 phpmailer 的确切版本吗?除了猜测之外,这里没有足够的信息。

标签: php phpmailer


【解决方案1】:

深入研究源代码。编辑 PHPMailer.php 并找到“function MailSend”。 (在 5.0.2 中,它在第 564 行附近。)

在所述函数中,从对mail() 的每次调用中删除@ error suppressor。确保将error_reporting 设置为合理的调试值。开发时,选择这样的:

error_reporting(E_ALL | E_STRICT);
ini_set('log_errors', '开');
ini_set('display_errors', 'On');

查看 PHP 是否显示任何错误。 PHPMailer 仅在对 mail() 的最后一次调用返回错误信息时,或者如果 $rt 从未设置,这意味着 if ($this->Sender != '' && strlen(ini_get('safe_mode'))< 1) 的计算结果为 true 时,才会引发实例化异常。

您使用的是安全模式吗? PHP Mailer $mailer->Senderini_get('safe_mode') 说什么? (我的猜测:如果您没有在安全模式下运行,但将其设置为 Off 之类的东西,此代码将返回 true。)

【讨论】:

  • 警告:mail() [function.mail]:安全模式限制生效。第 590/home/gazler/public_html/ahem/includes/php/class.phpmailer-lite.php 的 SAFE MODE 中禁用了第五个参数无法实例化邮件功能。邮件程序错误:无法实例化邮件功能。
  • 由于错误,我删除了第一个参数并且它可以正常邮寄,唯一的问题是它没有显示所有收件人,尽管所有收件人都收到了电子邮件。跨度>
  • 你能使用 PHPMailer 自己的 SMTP 传输吗? (我对 PHPMailer 和 safe_mode 不够熟悉,抱歉。)
【解决方案2】:

你试过$mail->AddAddress($value);吗?

【讨论】:

    【解决方案3】:

    大多数情况下,当from 标头未设置或无效时会导致此错误。尝试设置这个变量:

    $mail->From = 'valid@mailaddress.com';
    

    如果仍然不起作用,请尝试以下方法之一:

    • 检查是否在服务器中启用了mail(以及php.ini 设置);
    • openssl 模块已启用(执行 phpinfo() 并搜索 OpenSSL)

    【讨论】:

    • 这三个条件都很好,我确信问题在于循环,因为具有单个元素的数组可以正常工作。
    【解决方案4】:

    我刚刚浏览了PHPMailer的源码,提示“Could not instantiate mail function”表示mail()返回false。

    您可以尝试相同的功能,但使用您知道通常接受电子邮件的两个不同电子邮件地址吗?

    【讨论】:

      【解决方案5】:

      如果您没有使用 PHPMailer,请尝试下载最新版本的 PHPMailer,它已修复错误。您的邮件程序类很可能被弄乱了。

      【讨论】:

        【解决方案6】:

        '无法实例化邮件功能'。 只需检查您的邮件功能是否正常工作。很多时候由于托管服务提供商的限制而导致此错误。很多时候托管服务提供商阻止您的邮件功能,然后通常您会收到此错误

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-24
          • 1970-01-01
          • 2018-11-25
          • 1970-01-01
          相关资源
          最近更新 更多