gpt4 book ai didi

javascript - PHP Mailer,在发送电子邮件时阻止整个服务器执行

转载 作者:行者123 更新时间:2023-11-30 19:29:47 24 4
gpt4 key购买 nike

首先,我看到了这个问题:Send mail without blocking 'execution'

但是,我需要知道为什么 PHP 不是多线程进程,但如果两个人同时尝试连接却没有问题。

我实际上是通过 Ajax 调用来调用邮件脚本:

 $.ajax({
url: 'sendMailTemplate.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function (data) {}
...

我的 PHP 邮件程序问题是,当我发送电子邮件时,如果这需要 10 秒,那么在 10 秒内我无法使用我网站的任何功能(并且该网站对每个人来说就像关闭了 10 秒).我应该尝试使用 cron 作业吗?是否有 PHP 邮件程序 + cron 作业的教程?除了 cron 作业之外,最好的方法是什么?

最佳答案

我应该尝试使用 cron 作业吗?
是的

是否有 PHP 邮件程序 + cron 作业的教程?
我通过使用多个引用尝试了我自己的逻辑:

下面的逻辑像队列一样执行,并根据您的 cronjob 和 hrly 邮件限制发送时间。

  1. 邮寄:当您点击发送电子邮件时,您已将所有电子邮件存储到 "temp_table" 中你的数据库与他们的 "to,cc,bcc,suject,body"专栏。
  2. 为 hrly(your time) basic 编写 cron 作业,它将在特定时间跨度内执行。
  3. 在 cron 脚本中,您必须编写代码来接收来自 "temp_tables" 的电子邮件(将查询限制设置为不接收记录) & 发送给收件人。全部发送成功后,删除"temp_table"中的那些邮件你的数据库。

除了 cron 作业之外最好的方法是什么?
您已与您的服务提供商联系以增加每小时邮寄限制,提高服务器速度,php.ini :更改加载时间(此选项并非每次都有效),引用不同的语言,如 python

关于javascript - PHP Mailer,在发送电子邮件时阻止整个服务器执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56541249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com