[TH] Queue Email Users [Deleted]

Would be better if it is added to a queue to sending and send no more than 100 messages per hour, for example, to accept external mail services limits.
There should be an option to how many the admin chooses to send. Most share hosting only allow 500 or less emails per hour.
 
@Jon W - can you just explain what controls the sending rate, and how if possible to boot it up the backside for a quicker send?
 
@Jon W - can you just explain what controls the sending rate, and how if possible to boot it up the backside for a quicker send?
It is controlled only by how often the deferred tasks are run. To run quicker, just keep refreshing the deferred.php script (www.yourdomain.com/deferred.php) or refresh your pages.

If a timeout occurs during the deferred process (should not happen), then the deferred action may not run again until another email is added to the deferred queue. If this is happening, you may want to take a look at your email server and make sure it is working properly as this may be why you were getting timeouts in the first place.
 
  • Like
Reactions: Rob
Jon, I still find this entire process very painful.
Given that it is now adding the emails to the defer queue surely it can process more than 30 at a time.
As I understand it all that is happening is a database query to add them to the queue so its really really grating that it is still so slow!
I've basically solved nothing in doing this - the main reason was to avoid timeouts and slowness, especially when i do this on my mobile.
I would have thought the entire thing could be processed with one query, or at least a few... not 30 at a time.
I'm a little dissapointed as its really not solving my issues.
 
Also... the entire process has fell over.
Code:
Server Error
Mysqli statement execute error : Deadlock found when trying to get lock; try restarting transaction

[LIST=1]
[*]Zend_Db_Statement_Mysqli->_execute() in Zend/Db/Statement.php at line 297
[*]Zend_Db_Statement->execute() in Zend/Db/Adapter/Abstract.php at line 479
[*]Zend_Db_Adapter_Abstract->query() in XenForo/Model/Deferred.php at line 111
[*]XenForo_Model_Deferred->defer() in XenForo/Application.php at line 1447
[*]XenForo_Application::defer() in XenForo/Model/MailQueue.php at line 11
[*]XenForo_Model_MailQueue->insertMailQueue() in Waindigo/QueueEmailUsers/Extend/XenForo/ControllerAdmin/User.php at line 76
[*]Waindigo_QueueEmailUsers_Extend_XenForo_ControllerAdmin_User->_sendEmail() in XenForo/ControllerAdmin/User.php at line 1052
[*]XenForo_ControllerAdmin_User->actionEmailSend() in XenForo/FrontController.php at line 347
[*]XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
[*]XenForo_FrontController->run() in /var/www/vhosts/xxxnet/httpdocs/admin.php at line 13
 
@Jon W Hi I'm trying to install this. I'm already using your Login as User addon, do I only need to upload the QueueEmailUsers directory in this case?
 
@Jon W

Does this put all transactional e-mails (password resets, etc..) into the queue as well, or only the mass e-mail send from the admin CP?

.. and does it work with alternative transports with the [bd] Mails add-on?

thanks!
 
Thanks Jon! I'll give it a shot and let you know how it does with [bd] . I know a lot of folks with larger boards are using his mod to send mail to mandrill.
 
Does this put all transactional e-mails (password resets, etc..) into the queue as well, or only the mass e-mail send from the admin CP?
Sadly no. This includes user registration (confirmation, rejection, acceptance emails), Contact Us, etc.

From the looks of it, the AdminCP email hasn't been updated when the front-end watching email & conversation notification emails was updated to use the email queue system.

Just the mass email send. I think the rest are queued anyway.
Nope. They use XenForo_Mail::send() not XenForo_Mail:queue().

It is why I released Email Queuing Enhancements. It forces all email through the mail-queue system, and then straps basic retry logic to it. The idea is to make hand-off from XenForo to the end-mailing system reliable, and then its up to the mailing agent todo the fancy stuff.
 
Top Bottom