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

Reply
 
Thread Tools
Email reminder for inactive users Details »»
Email reminder for inactive users
Version: 1.2.7, by C Braithwaite C Braithwaite is offline
Developer Last Online: Dec 2012 Show Printable Version Email this Page

Category: Mini Mods - Version: 3.6.8 Rating:
Released: 02-08-2007 Last Update: 08-23-2008 Installs: 1463
DB Changes Uses Plugins Auto-Templates
Additional Files Translations Is in Beta Stage  
No support by the author.

Inactive reminder emails. This mod was designed to send out a reminder to inactive members to try and win them back.

***1.2.7 Update***
This update includes built in support for bouncing emails. The script will automatically detect the bounced mail, mark it as bounced so the user is not to be contacted again so as to avoid spam, and then move that user into a seperate usergroup. This plugin is still in it's testing stages, but I have addressed the bugs mentioned previously regarding the emailing side of things.

This is important so keep reading
To install this plugin and take advantage of the bounced email features you are going to need to follow these instructions very carefully. I can not gaurentee that they will work to the letter as this will be based on each persons individual hosting settings.

Step 1: Pre Install
Before you touch this product you need to do the following
  • Create an "inactive" usergroup
  • Set up a "bounce to" email address
    Pick an email address that you want to use as your bounced email address. Im using "bounce@icora.co.uk". feel free to use whatever you wish.
  • Add a email message filter
    This is the hard part. You need to set up a filter that will 'pipe' an email sent to the above email address.
    I am using Cpanel 11 and this is how i have mine set up:
    Rules: 'To' 'Equals' 'bounce@icora.co.uk'
    Actions: 'Pipe to program' with the setting: |/usr/local/bin/php /home/icora/public_html/forum/bounce.php
    This will depend entirely on your settings and structure so you may have to do a little research. It would be very helfull if people who have to use diferent configurations would post them on here.
  • Go into vBulletin options, and find the options for 'Emails'. there is a setting asking you if you want to use '-f'. set this to yes.
  • While still inn the email options set the 'Bounce Email Address' to your above address.
Step 2: Install
Remove all previous trace of this modification, and upload all the files in the "upload" folder to your base directory of the server.
Go into your product management section and add a new product. upload the XML file with overwrite selected.
Refresh your admin CP to load the new menu items. Just under the "users" group you will find an "Inactive Reminders" group. open that up and click on settings.
Play with these settings and options to suit for the most part. when you come down to the bounce settings you MUST use the same email address as the one you created above.
Set to active and save.

I must re-iterate that this version has not been widely tested, but the simulations i have ran have worked. I look forward to your feedback!

Features:
  • Select the period of time before a user is considered inactive.
  • Select how many emails to send to each inactive user per inactivity period
  • Choose weather inactivity is based on members "Last Post" or their "Last Visit"
  • Specify how often followup emails are sent
  • Specify alternative emails to send to reduce repetition
  • Keep a log of all inactive users contacted

Planned Updates:
  • More detail in reports
  • ...such as
  • Which useres returned
  • Effectivness stats
  • Email validity

**1.2.1 Update***
Added more detail to the reports section. You can now see the email address, and quickly indicate which emails were invalid. You can link directly to that user to edit as you wish.
I have fixed some errors which have been crashing people's database. Please post any problems if you can.

**1.2.3 Update***
Fixed several problems with escaping strings
Stopped database errors locking up site
***

**1.2.4 Update***
Added a "From Email" so you can specify your own email address to send the reminders from.
Fixed potential bug for people who do not use the mail queue.

Anyone having problems with sending emails out too fast, and multiple emails being sent need to consider changing their email settings in vbulletin options.
People with emails going out too fast - edit Number of Emails to Send Per Batch to a lower amount
People with multiple emails sending - edit Use Mailqueue System to "Yes, with locking"
***

**1.2.5 Update***
Added more stats in the reports page, also added a "Send test email" option so users can test the functionality of the mod
***

Supporters / CoAuthors

Show Your Support

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

Comments
  #732  
Old 06-11-2007, 10:26 AM
C Braithwaite's Avatar
C Braithwaite C Braithwaite is offline
 
Join Date: Jan 2006
Location: Leeds
Posts: 293
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cheekymonk3y View Post
have a little question that you probably have been asked a hundred times.If i set this option to 0, it disables it right?
no. it will either give an error, or send emails out non stop. I forget which.
Reply With Quote
  #733  
Old 06-11-2007, 10:48 AM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by lebmobile View Post
hello

Everything is fine and it is really the best hack that i've ever used

*How to change the Email address that is sending to the users??? thax
It uses the email address you set for your forum. Change it in basic vBulletin options.
Reply With Quote
  #734  
Old 06-12-2007, 07:04 AM
Iceman62 Iceman62 is offline
 
Join Date: Apr 2006
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by djbaxter View Post
Odd. That's what it should say.

Try this:

Code:
/forums/includes/cron/remindermail.php
If that doesn't work, try:

Code:
http://www.yoursite.com/forums/includes/cron/remindermail.php
replacing the bolded red part with your actual URL.

If that doesn't work, try:

Code:
/home/xxxxxxx/public_html/forums/includes/cron/remindermail.php
of course, replacing the "xxxxxxx" part with something meaningful.
I tried all those with both versions and still getting the error.
Reply With Quote
  #735  
Old 06-12-2007, 10:51 AM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Contact your host and ask him why you're getting a path error.
Reply With Quote
  #736  
Old 06-13-2007, 09:10 AM
chkdgate's Avatar
chkdgate chkdgate is offline
 
Join Date: Jun 2006
Location: US
Posts: 264
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm finding this mod to be the most effective tool for my forum. In just one week, I have seen almost 75-80% of my registered users come back and 20% of those who did return, posted. I swear by this and I was specially surprised to see that email reports were built into the program. This gives you so many new ways to market and strategize your forum.
Reply With Quote
  #737  
Old 06-13-2007, 04:51 PM
C Braithwaite's Avatar
C Braithwaite C Braithwaite is offline
 
Join Date: Jan 2006
Location: Leeds
Posts: 293
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by chkdgate View Post
I'm finding this mod to be the most effective tool for my forum. In just one week, I have seen almost 75-80% of my registered users come back and 20% of those who did return, posted. I swear by this and I was specially surprised to see that email reports were built into the program. This gives you so many new ways to market and strategize your forum.


Glad to hear it!
Reply With Quote
  #738  
Old 06-17-2007, 07:52 AM
ehsanix ehsanix is offline
 
Join Date: Oct 2003
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is it possible to send HTML emails to inactive users?
thianks for this great hack
Reply With Quote
  #739  
Old 06-17-2007, 11:39 AM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ehsanix View Post
is it possible to send HTML emails to inactive users?]
Yes. Use version 1.09.
Reply With Quote
  #740  
Old 06-17-2007, 05:32 PM
bbcentral's Avatar
bbcentral bbcentral is offline
 
Join Date: Apr 2006
Location: Australia
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Bugs I found:
1) When emailing for the first time, I had several thousand members to contact. The script stopped after 30 seconds, and I had no way to tell who had been emailed because the script sets everyone as being sent before it's actually done. No way to resume this, but not sure how to fix this either. Same thing will happen again in 30 days, because the same people will be contacted.
2) The $uheaders variable messed up the header of the email, it was from Site Title <"Site Title"> rather than Site Title <"email@site.com">. I removed this section to make it match the default vBulletin email cron scripts.

I've done some testing and I think I've managed to fix it, or at least get it to a standard that I'm personally happy with.

So my changes:
1) I add the list of sent and failed emails to an array which has the userid in it, to make it easier to troubleshoot and read when you receive the Report by email.
2) For the failed emails in the report, it shows the email address after the username. This is so you can see exactly why they failed (eg username.hotmail.com, username@email, etc).
3) I've added a quick summary at the top which tells you how many reminders were sent, how many failed, and the total number of inactive users that were found (successful+failed).
4) Made some changes to the script so it adds the emails to the queue rather than trying to send them all at once. So it may take a couple of hours to send 10,000 emails (using the CRON system), but at least the script won't fail half way.
5) Fixed the headers so now the email actually comes from the correct address. Before it was being rejected by a whole bunch of servers because the sending address was "Forum Name" instead of the email address.

I've attached my version to this post. Install the original script first, but upload my remindermail.php file into includes/cron/ instead of the default.

I'm not sure how this will work if you aren't using the mail queue, but I think it should be fine. And if you want to integrate my changes back into the original then go right ahead

If anyone uses my code, please don't bug the original author about it, he's not obligated to support someone else's modifications.

By the way, the Report email that I received listing 10,000 users that were emailed, it was 180KB. That's not a big problem though
Reply With Quote
  #741  
Old 06-17-2007, 05:45 PM
bbcentral's Avatar
bbcentral bbcentral is offline
 
Join Date: Apr 2006
Location: Australia
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, well I feel like an idiot now. My script changes didn't fix the timeout issue (the rest of it was worth doing though).

But this time I opened the vb_mailqueue table, found the last email address that was queued up. I found the userid of that account, and ran the following query:
UPDATE vb_user SET `emailDate`=0 WHERE userid>=9245
So the last 2000 accounts were set back to 0, and then I just ran the script again, this time it picked up from where it left off.

I wish there was a more elegant way of doing it, but unfortunately not without running a lot more SQL queries. And it's not a regular thing anyway.

What I might do to make it work next time is:
UPDATE vb_user SET emailDate=(YESTERDAY'S TIMESTAMP) WHERE userid<5000
UPDATE vb_user SET emailDate=(TODAY'S TIMESTAMP) WHERE userid>5000

That way 5000 members will be notified again in 29 days, and the rest (6000) will be notified in 30 days. It fails after about 9000, so this should be safe enough.
And after 37 days (1 week after the second email) I'll be pruning anyone who hasn't logged in in the last 67 days
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 04:59 PM.


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.09816 seconds
  • Memory Usage 2,329KB
  • Queries Executed 26 (?)
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
  • (3)bbcode_code
  • (5)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
  • (4)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