The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
vBouncer: reduce server load by unsubscribing bouncing members from threads Details »» | |||||||||||||||||||||||||||
vBouncer: reduce server load by unsubscribing bouncing members from threads
Developer Last Online: Nov 2023
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
|
Comments |
#332
|
|||
|
|||
So I have this completely working in 3.6.4. I'm not sure what other members are having issue with. It correctly identifies bounced email and will automatically move users into the proper usergroup.
I uninstalled the 3.5 version, using the unistall option. Then I reinstalled using GNDI's version a few pages back. I did make two changes in vbouncer-clean.php. Replace the send_pm function with the folllowing (properly sends users pms): Code:
function send_pm($phrase, $userid, $username, $bounces, $langid, $bouncing_email) { global $vbulletin; $username = unhtmlspecialchars($username); eval(fetch_email_phrases($phrase, $langid)); $pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY); $pmdm->set('fromuserid', $vbulletin->options['vbouncer_pm_sender_id']); $pmdm->set('fromusername', $vbulletin->options['vbouncer_pm_sender_username']); $pmdm->set_info('receipt', false); $pmdm->set_info('savecopy', false); $pmdm->overridequota = true; // Force pm send even if recipient's mailbox is full $pmdm->set('title', $subject); $pmdm->set('message', $message); $pmdm->set('dateline', TIMENOW); $pmdm->set('allowsmilie', false); $pmdm->set_recipients($username, $botpermissions); if (empty($pmdm->errors) > 0) $pmdm->save(); else echo '<pre>111' . print_r($pmdm->errors,true) . '</pre>'; } Code:
if ($stats['ugid'] == 6 OR in_array($stats['ugid'], explode(',', $vbulletin->options['vbouncer_auto_ug_untouchables']))) continue; Code:
if ($stats['ugid'] == 6 OR in_array($stats['ugid'], explode(',', $vbulletin->options['vbouncer_auto_ug_untouchables'])) OR $stats['ugid'] == $vbulletin->options['vbouncer_auto_ug_destination']) continue; To make sure you're setting this up right - first you create the bouncer email address. Make sure it works. Setup a usergroup for bounced users. Uninstall vBouncer. Install GNDI's vBouncer. Configure vBouncer. Check the email account (make sure to leave the messages on the server, so connect using imap or a webmail system) and see if you have some bounced emails. If not, wait. If you do, run the Scheduled Task for vBouncer Collect. Look at the cron log, is there an entry for vBouncer Collect? What does it say? Look at your vBouncer Stats, are there entries there? Check the email account again. Have the emails been deleted? Now run the Scheduled Task for vBouncer Clean. Did it give errors or say done? Check the cron log, is there an entry for vBouncer Clean? There you go. I may not have time to answer many questions, but I'll try. Good luck! |
#333
|
||||
|
||||
I try to clean my db after unistall this hack and when I try to install again give me error any way to upgrade this hack so over write old data ?
|
#334
|
||||
|
||||
Any chance of this being ported to 3.6 or if it works on vB 3.6?
|
#335
|
|||
|
|||
[edit]
Works great - thanks LunarTech. Running 3.6.4. A bit of any unrelated question: when I installed this I was using php mail. I just changed to SMTP mail using -f param Now, the From address is still my default vbulletin admin email, while the "Return-Path" is the vbouncer email. I'm assuming this is correct behavior. But it would be great to not have the default vbulletin admin email as the "from" address though - I always get people replying to post notifications |
#336
|
|||
|
|||
Quote:
It there any way to get this working without great manual work on 3.6.x series? Maybe authour would agree that somebody else ports it to 3.6.x if he have had no time to do it by himself??? |
#337
|
|||
|
|||
Does this work on 3.6?
|
#338
|
||||
|
||||
I checked the whole post. It seems it`s a douzy installing it, but getting it to work on a busy forum, it comes as a plus. It can run with v3.6.x, but there might be incompatibilities.
|
#339
|
||||
|
||||
I've got it working on 3.6.4 for me, using GNDI's version posted earlier in the thread and the instructions posted above by LunaTech. Thanks guys
|
#340
|
|||
|
|||
does it work for 3.6.7?
|
#341
|
|||
|
|||
When I accessed install page, it always displayed the mysql error page,it showed that the sql query is not compatible.....
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|