首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不循环地向多个用户发送邮件

不循环地向多个用户发送邮件
EN

Stack Overflow用户
提问于 2016-02-03 23:33:28
回答 1查看 61关注 0票数 0

我已经写了代码,通过循环1200次向1200多个用户发送邮件,为每个用户生成唯一的随机取消订阅链接,但由于这个过程,页面被延迟。请给我一些建议来完成这项任务。我的代码如下:

代码语言:javascript
运行
复制
while ($result = mysqli_fetch_assoc($query)) {
  $unsubscribe_link = 'XXXXXX';
  mail(
    $result['user_email'],
    $subject,
    message($unsubscribe_link), html_headers($from_mail)
  );
}
EN

回答 1

Stack Overflow用户

发布于 2016-02-04 00:37:28

可以将电子邮件地址连接到PHP函数的 to 字段中,以避免循环:

代码语言:javascript
运行
复制
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

然而,当你根据事物的外观向用户发送单独的取消订阅链接时,这是不可行的(因为收件人会看到其他人的电子邮件地址)。另外,正如已经在评论中提到的,这可能是一个更适合在后台处理的任务。

PHP.net文档建议:

值得注意的是,

()函数不适合在循环中处理大量的电子邮件。此函数为每个电子邮件打开和关闭SMTP套接字,效率不是很高。有关发送大量电子邮件的信息,请参阅»PEAR::Mail和»PEAR::Mail_Queue包。

然而,我认为使用第三方提供商来处理事务性电子邮件可能更安全(垃圾邮件更明智),也更有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35181201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档