Php 如何向多个收件人发送电子邮件?
我的申请表需要很长时间才能提交。此外,有时电子邮件会重复出现,在错误日志中,我可以看到以下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
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
地址格式不正确