Php 如何向多个收件人发送电子邮件?

Php 如何向多个收件人发送电子邮件?,php,mysql,email,Php,Mysql,Email,我的申请表需要很长时间才能提交。此外,有时电子邮件会重复出现,在错误日志中,我可以看到以下PHP警告:mail()[]:无法执行邮件传递程序'/usr/sbin/sendmail-t-I'以下是我的代码: $emails = mysql_query('select * from owners where status ="active"'); while($row = mysql_fetch_assoc($emails)){ $to = $row['s_ema

我的申请表需要很长时间才能提交。此外,有时电子邮件会重复出现,在错误日志中,我可以看到以下PHP警告:
mail()[]:无法执行邮件传递程序'/usr/sbin/sendmail-t-I'

以下是我的代码:

    $emails = mysql_query('select * from owners where status ="active"');

    while($row = mysql_fetch_assoc($emails)){

        $to = $row['s_email'];
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: mysitename  <noreply@mysitename.com' . "\r\n";
        mail($to, $subject, $message, $headers);
    }
$emails=mysql_query('select*from owner where status=“active”');
while($row=mysql\u fetch\u assoc($email)){
$to=$row['s_email'];
$headers='MIME版本:1.0'。“\r\n”;
$headers.=“内容类型:text/html;字符集=iso-8859-1”。“\r\n”;

$headers.='From:mysitename若要向多个收件人发送电子邮件,请用逗号分隔每个电子邮件地址。您可以使用
infrade()
函数在一行中完成此操作,而不是循环

要回答您的问题,可能是内存泄漏。请尝试我的解决方案,用我的代码替换您的代码:

$emails = $pdo->prepare("SELECT * FROM owners WHERE status = 'active'");
$emails->execute()->fetchAll();

mail(implode(', ', $emails), $subject, $message, $headers);
另外,请避免使用
mysql.*
函数。它们已被弃用。请尝试使用
PDO
函数。可以找到更多信息



您可能还想查看cron作业。使用
mail()
函数发送的电子邮件通常会自动放在垃圾邮件文件夹中。

这是真的,但它认为这不会解决错误消息“无法执行邮件传递程序”/usr/sbin/sendmail-t-i”哦,对不起。标题误导了我。也许应该更改。我会在mo中编辑我的答案。我可以试试你上面的代码吗-terry Harvey先生,但在'to'中,它显示了所有的电子邮件id,我如何隐藏它或我可以使用cc?@user168818使用BCC标题。你的
From
地址格式不正确