我正在尝试通过PHP mail()函数发送群发邮件,但速度太慢了。所有电子邮件都是从数据库中提取的。目前,我正在使用Sendmail与Xampp(离线)执行此操作。现在在我的数据库中只有6封电子邮件,需要2分钟才能完成发送所有邮件。我只是担心在生产模式下将会有成千上万的用户会发生什么。下面给出了我正在使用的示例代码。有没有办法让它执行得更快?
$from = (!empty($_POST['from']))?$_POST['from']:null;
$type = (!empty($_POST['type']))?$_POST['type']:null;
$to = (!empty($_POST['to']))?$_POST['to']:null;
$subject = (!empty($_POST['subject']))?$_POST['subject']:null;
$message = (!empty($_POST['message']))?$_POST['message']:null;
if($_POST){
$emails = $pdo->prepare("SELECT mem_email FROM members");
$emails-> execute();
$adminMail = $pdo->prepare("SELECT set_site_name, set_admin_support_mail FROM settings");
$adminMail-> execute();
$amf = $adminMail->fetch();
$headers = "From: ".$from." (".$amf['set_admin_support_mail'].")";
while($u = $emails->fetch()){
$sendTo = $u['mem_email']; // note the comma
mail($sendTo, $subject, $message, $headers);
}
}