Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Cron based e-mail sending Details »»
Cron based e-mail sending
Version: 4.1.7.0, by Paul M Paul M is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Administrative and Maintenance Tools - Version: 4.1.x Rating:
Released: 12-29-2009 Last Update: 05-23-2012 Installs: 190
Uses Plugins
Code Changes Additional Files Translations  
No support by the author.


--------------------------------------------------------------------------------
This modification has been withdrawn.
vBulletin 4.0.x and 4.1.x are no longer supported.

The feature is already built into the core vBulletin 4.2.x code.
--------------------------------------------------------------------------------


In default vBulletin, if you send a large number of e-mails, vbulletin either puts them in it's queue and attempts to send them as each user visits a page, or just simply tries to send them straight away (as is the case when you use the Administrators email users inteface).

The result of this can be that your server can gets seriously overloaded very quickly - or on many hosts, you get banned for exceeding their e-mail sending limits. This can make sending several thousand e-mails (like a newsletter) very difficult.

This modification helps in three ways ;

1. The processing of the mail queue is set-up as a vbulletin cron item.

2. You can add a small delay before each e-mail is sent (0,1,2 or 5 seconds).

3. E-mails from the ACP inteface are sent to the mail queue, not straight to the mail system.

Use option 2 carefully, otherwise you will slow your e-mail system right down.

For this to work, you must use e-mail queuing (ACP Options - Use Mailqueue System = Yes) and also the 'Number of Emails to Send Per Batch' needs to be a realistic value (see below). The installation process will attempt to set these options for you. This modification also requires two file edits to work correctly.

There are two options for the cron job, you can either set it to run every minute, and set the items to be processed to something small (like 10), or you can do what this modification does by default and set it to run every 10 minutes, and set the items to be processed to something larger (like 80, which is the default).

Remember, 10 e-mails per minute = 600 per hour while 80 e-mails every 10 minutes is 480 per hour. The numbers you set really depend on how quick you want large queues processed, and how much your mail server can handle in one go. The default settings are fine for most people.

Once working, when using the ACP mail users inteface, remember you can set it to process 9999 at once (not 500) as the mails will now go into the queue, not be sent directly.

Note: This modification will only affect queued e-mails such as subscription e-mails. It will not affect registration e-mails as they always bypass queuing.

This modification also displays the size of the e-mail queue in the ACP homepage, based on code supplied by Antivirus.

To install, download and uzip the files, then follow the instructions in the text file.


History:

v4.0.1 : 30-Dec-2009 : Initial release for vb 4.0.0 Gold.

v4.1.0 : 04-Dec-2010 : Updated for vBulletin 4.1.

v4.1.7.0 : 16-Oct-2011 : Updated for vBulletin 4.1.7.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
FinalFantasy

Comments
  #112  
Old 07-19-2011, 11:05 PM
ip-ip ip-ip is offline
 
Join Date: Mar 2010
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

Thanks for this goog Hook,

I have "50.000 users" with "35.000 able emails" for mail sending & I need to send mail to all 35.000 able emails every week,

my "Server Rules" for send mail system is "20 send per 1 minute + 3 minutes stop",

so Please help me for best setting in mail option,

Notice: I Installed your Hook
Notice: my vBulletin version is 4.1.4

Thanks.
Reply With Quote
  #113  
Old 07-20-2011, 10:35 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

There isnt any way you can do a "send 20 and then wait 3 minutes".

The closest you can get is use the current default of every 10 minutes, and set the limit to 20.

Since this will send 120 per hour, you are never going to be able to send 35,000 per week as 120/hour would take almost two weeks to process that many e-mails.

You need a less restrictive host.
Reply With Quote
  #114  
Old 07-21-2011, 12:14 AM
ip-ip ip-ip is offline
 
Join Date: Mar 2010
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
There isnt any way you can do a "send 20 and then wait 3 minutes".

The closest you can get is use the current default of every 10 minutes, and set the limit to 20.

Since this will send 120 per hour, you are never going to be able to send 35,000 per week as 120/hour would take almost two weeks to process that many e-mails.

You need a less restrictive host.
- I installed according to "Cron-mail-queue.txt FILE", How Much take time with this option for 35.000 send mail ?

- my "Mail Setting" now set on "Number of Emails to Send Per Batch: 80" & "E-Mail Send Delay: 0" , Is It ok or Cound I change them ?
Reply With Quote
  #115  
Old 07-21-2011, 07:29 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That would take 3 days. It would also break your hosts restrictions.
Reply With Quote
  #116  
Old 07-21-2011, 07:42 PM
ip-ip ip-ip is offline
 
Join Date: Mar 2010
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If my server accepted your setting, Need I change "Number of Emails to Send Per Batch: 80" & "E-Mail Send Delay: 0" ?
Reply With Quote
  #117  
Old 07-22-2011, 12:25 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes.
Reply With Quote
  #118  
Old 07-22-2011, 10:59 PM
ip-ip ip-ip is offline
 
Join Date: Mar 2010
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
Yes.
So, please say me What do I need to change this : "Number of Emails to Send Per Batch: 80" & "E-Mail Send Delay: 0"

Tnx.
Reply With Quote
  #119  
Old 07-23-2011, 12:33 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What ?? Im lost now.
You canot do what you asked originally.
The settings you mentioned would send them in three days, but break your hosts restrictions.
After that I dont get what you are asking anymore.
Reply With Quote
  #120  
Old 07-27-2011, 02:36 AM
sportsfroma2 sportsfroma2 is offline
 
Join Date: Aug 2006
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Paul, first off- congrats on the new (newish, at least- I just read the announcement @ vbulletin.com) gig with the VB folks..

Do you know a way to include the activation e-mails into the mailqueue? I want to send a reminder activation e-mail to all my users who haven't activated yet, but don't want to violate my Host's TOS- Any way I can accomplish this?

Thanks in advance
Reply With Quote
  #121  
Old 07-27-2011, 02:52 AM
sportsfroma2 sportsfroma2 is offline
 
Join Date: Aug 2006
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Actually, If I just "manually" compose an e-mail through the user-->send e-mail to user system and send it to the primary usergoup of "Users Awaiting Email Confirmation" With $activateid and $activatelink in the content of e-mail, Then it would have nearly the same effect and honor the cron-based mailqueue, right?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:14 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08642 seconds
  • Memory Usage 2,314KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete