Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vBouncer: reduce server load by unsubscribing bouncing members from threads Details »»
vBouncer: reduce server load by unsubscribing bouncing members from threads
Version: 1.2, by tamarian tamarian is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.5.1 Rating:
Released: 06-20-2005 Last Update: 10-04-2005 Installs: 118
Uses Plugins
Additional Files  
No support by the author.

vBouncer is a handy tool for busy forums (or those that do not require email verification) to control the amounts of bogus emails sent from and to your server.

What vBouncer does: vBouncer monitors your mail spool file, and identifies members responsible for large amounts of bounced emails. It then issues a PM warning, and when the unsubscribe threshold is met, it will will unsubscribe them for all threads, and sets them to the "no email" subscription level.

After a couple of runs, this should significantly reduce your server load.

Features:
o Manual or auto processing option
o Collect logs via IMAP/POP or mail spool file
o Custom filters to match patterns in bounced emails
o Uses vB's cron files (Scheduled tasks)
o Uses encrypted header for authentication (suggested by Paul M).
o Stats on members with bouncing emails, and error codes
o Tuning options
o Verbose cron logs for diagnostics
o Option to send PM warning prior to reaching the limit
o Option to send PM notifications after reaching the limit
o Option to change the member's subscription default
o Option to all thread subscriptions to "no email"
o Option to all forum subscriptions to "no email"
o Option to move offenders to a different primary usergroup
o Option to process 5.0.0/550 errors (email unknown) upon a single email, isntead of observing the bounce limit


Installation:
1. Extract the files into the corresponding directories (admincp => admincp, includes => includes)
2. Run the installation script in the admincp
3. Fill out the settings menu in the vBouncer section of the admin panel (see the how-to post below)
4. Import and activate the plugin file through the plugin manager.
5. Once ready, add the cron scripts to your scheduled tasks: vbouncer-collect.php (should be run daily, or more frequently) and vbouncer-clean.php (weekly, equal to Bounce limit period)
6. If you are using vB's SMTP email option, make sure to also enable the "-f" option.

Change log:

- August 12, 2005 v1.3 Update to the cron files to match new changes in vB's cron/tasks. To upgrade, just re-upload the contents of includes/cron.

- July 11, 2005 v1.2 Bug fix for some server/PHP setups; resolve aliases for return keys, otherwise some aliases would be considered forged.

- July 5, 2005 v1.1 Bug fix in standard report pattern matching

- July 4, 2005 v1.0 Added encrypted header for authentication (suggested by Paul M).

- July 3, 2005 v0.9.1 fixed a bug preventing IMAP/POP log collection.

- July 2, 2005 v0.9 added IMAP/POP option and custom filters file vbouncer.ini

- June 27, 2005 v0.5 Added custom header setting option, for re-written headers.

- June 26, 2005 v0.4 Found a way to make it work as a plugin, without code edits (thanks to Paul M)

- June 26, 2005 v0.3 No changes, just removed the plugin

- June 25, 2005 v0.2 Added NDR/Reply code errors to stats, and option to act upon 5.0.0/550 (user unknown)

- June 21, 2005: v 0.1 Initial release. Marked beta, but it's working fine on PostFix and SendMail. Need to hear from those who tried on QMail and Exim

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #302  
Old 11-20-2006, 10:59 AM
kmike kmike is offline
 
Join Date: Oct 2002
Posts: 169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Looks like this hack is not supported anymore. Here are a few bug fixes for those who still care.

1. There's a bug in the regular expressions: all occurences of
Code:
RFC822;[ ]*[<]*(\S+@\S+)[>]?
should be replaced with
Code:
RFC822; *<?(\S+?@\S+?)>?\s*$
otherwise an email address scraped from this line: "Final-Recipient: RFC822; <xxxx@test.sg>" will include the final ">" ("xxx@test.sg>"). Apparently it affects all addresses at charter.net.

2. Next thing, sometimes members fill out their email in capital letters, but reporting MTA rewrites them in lower case, such as: "Final-Recipient: RFC822; USER@aol.com" for the user provided "USER@AOL.COM", so md5 check of USER@aol.com will be against md5-encoded USER@AOL.COM and a bounce will be reported as forged when it's in fact not.
The solution: strtolower() member email address before sending and also strtolower() before checking them against X-Return-ID.

3. Finally, the recipient email address may be an alias for the different account. In this case "Final-Recipient" line will include that another email address instead, and the check for the forged bounces will fail. This one is tough to correct. It is amended by adding another custom header with an original email address and checking md5 against it and not the one scraped from a "Final-Recipient" line. But obviously this is a bit more prone to the errors and the possible forging though.
Reply With Quote
  #303  
Old 11-20-2006, 02:47 PM
GNDI's Avatar
GNDI GNDI is offline
 
Join Date: Jun 2005
Location: Denmark
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where are this line located: RFC822;[ ]*[<]*(\S+@\S+)[>]?
Reply With Quote
  #304  
Old 11-20-2006, 03:43 PM
Freezerator Freezerator is offline
 
Join Date: Nov 2001
Location: Den Haag
Posts: 197
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kmike View Post
Looks like this hack is not supported anymore. Here are a few bug fixes for those who still care.

1. There's a bug in the regular expressions: all occurences of
Code:
RFC822;[ ]*[<]*(\S+@\S+)[>]?
should be replaced with
Code:
RFC822; *<?(\S+?@\S+?)>?\s*$
otherwise an email address scraped from this line: "Final-Recipient: RFC822; <xxxx@test.sg>" will include the final ">" ("xxx@test.sg>"). Apparently it affects all addresses at charter.net.

2. Next thing, sometimes members fill out their email in capital letters, but reporting MTA rewrites them in lower case, such as: "Final-Recipient: RFC822; USER@aol.com" for the user provided "USER@AOL.COM", so md5 check of USER@aol.com will be against md5-encoded USER@AOL.COM and a bounce will be reported as forged when it's in fact not.
The solution: strtolower() member email address before sending and also strtolower() before checking them against X-Return-ID.

3. Finally, the recipient email address may be an alias for the different account. In this case "Final-Recipient" line will include that another email address instead, and the check for the forged bounces will fail. This one is tough to correct. It is amended by adding another custom header with an original email address and checking md5 against it and not the one scraped from a "Final-Recipient" line. But obviously this is a bit more prone to the errors and the possible forging though.
Thanks, but can you please englihten this more? Or post an updated file.
Reply With Quote
  #305  
Old 11-23-2006, 06:11 PM
alfaowner alfaowner is offline
 
Join Date: Jul 2003
Location: London
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi all,

Need some advice if you can, I uninstalled vbouncer for various reasons, I used the uninstall script to do so but my members that had previously bounced emails are still not recieving subscription emails or normal vbulletin sent emails, can anyone advise why or how to make it so they can recieve emails. BTW - I logged into theor account and checked all of their settings and they are ok / correct.

Please help

AO
Reply With Quote
  #306  
Old 11-23-2006, 06:19 PM
Eagle Creek's Avatar
Eagle Creek Eagle Creek is offline
 
Join Date: Jan 2004
Location: Netherlands
Posts: 742
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there a 3.6.3?
Reply With Quote
  #307  
Old 11-26-2006, 06:44 PM
Eagle Creek's Avatar
Eagle Creek Eagle Creek is offline
 
Join Date: Jan 2004
Location: Netherlands
Posts: 742
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I made a new E-mail address (notificaty@) but the mails are still send from webmaster@. Did I do something wrong?
Reply With Quote
  #308  
Old 11-26-2006, 07:03 PM
GNDI's Avatar
GNDI GNDI is offline
 
Join Date: Jun 2005
Location: Denmark
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

running a new version of Vb, that's all
Reply With Quote
  #309  
Old 11-26-2006, 08:37 PM
Eagle Creek's Avatar
Eagle Creek Eagle Creek is offline
 
Join Date: Jan 2004
Location: Netherlands
Posts: 742
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You're joking right?
So it doesn't work?
Reply With Quote
  #310  
Old 11-27-2006, 01:15 PM
ebasement.org ebasement.org is offline
 
Join Date: Nov 2006
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm interested in this for the latest version as well.
Reply With Quote
  #311  
Old 11-27-2006, 02:04 PM
GNDI's Avatar
GNDI GNDI is offline
 
Join Date: Jun 2005
Location: Denmark
Posts: 129
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Eagle Creek View Post
You're joking right?
So it doesn't work?
Not at all

Quote:
Originally Posted by ebasement.org View Post
I'm interested in this for the latest version as well.
it is working when you manually use your "fake" e-mail address as sender, ex. when you use the "Send e-mail to users" function under "users" in admincp, then it is a powerful tool
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 08:03 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06283 seconds
  • Memory Usage 2,321KB
  • 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
  • (4)bbcode_code
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • 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