我已经写了代码,通过循环1200次向1200多个用户发送邮件,为每个用户生成唯一的随机取消订阅链接,但由于这个过程,页面被延迟。请给我一些建议来完成这项任务。我的代码如下:
while ($result = mysqli_fetch_assoc($query)) {
$unsubscribe_link = 'XXXXXX';
mail(
$result['user_email'],
$subject,
message($unsubscribe_link), html_headers($from_mail)
);
}发布于 2016-02-04 00:37:28
可以将电子邮件地址连接到PHP函数的 to 字段中,以避免循环:
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';然而,当你根据事物的外观向用户发送单独的取消订阅链接时,这是不可行的(因为收件人会看到其他人的电子邮件地址)。另外,正如已经在评论中提到的,这可能是一个更适合在后台处理的任务。
PHP.net文档建议:
值得注意的是,
()函数不适合在循环中处理大量的电子邮件。此函数为每个电子邮件打开和关闭SMTP套接字,效率不是很高。有关发送大量电子邮件的信息,请参阅»PEAR::Mail和»PEAR::Mail_Queue包。
然而,我认为使用第三方提供商来处理事务性电子邮件可能更安全(垃圾邮件更明智),也更有效。
https://stackoverflow.com/questions/35181201
复制相似问题