我在Joomla有用户! 2.5倍。它们具有从管理员(开/关)获取电子邮件的不同设置。我必须在电子邮件发送给他们时检查这些设置。 不幸的是,当每个用户的设置都在循环中检查时,现在有一个相当奇怪的架构(我不是作者)。因此,我们拥有许多用户,因此我们必须执行检查。 我想有两种方法可以解决这个问题。
在向单个用户发送电子邮件之前,我们会向我们的数据库询问获得电子邮件的状态。
LOOP
if(checkUserSettings()) // performs a single query to DB
sendMail(...)
我们从DB获取所有用户,这些用户的电子邮件设置位于开启状态。我们将它们存储在数组中并在循环之前执行in_array检查。
LOOP
if(in_array($syst_user->id, $users_ids)) // contains array of users id id
sendMail(...)
sendMail()是一个PHPmailer。
那么这些方法中的哪一种在实践中更有效?