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
  #742  
Old 06-17-2007, 05:50 PM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Are you using 1.11?

If so, uninstall it and install 1.09.
Reply With Quote
  #743  
Old 06-17-2007, 06:35 PM
bbcentral's Avatar
bbcentral bbcentral is offline
 
Join Date: Apr 2006
Location: Australia
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah I'm using 1.11, but now that I've made all these fixes and enhancements, and it's working perfectly, it seems pointless to revert

So far I've received 400 bounces, but it's definitely getting through to people. And the report is sitting in the vb_mailqueue table ready to send, once the other 9000 emails are finished.

Quote:
The Inactive User Reminder System successfully ran today.
This report contains more information.

--------------------------------

Reminders Sent: 1637
Not Sent: 0
Total Inactive: 1637

--------------------------------

Reminder Emails sent to:
11377) JoeSmith
11376) JohnDoe
11375) Member1234
etc etc etc...
I'm extremely happy with it, you have no idea how much I love this mod

The only thing I need now is another automated script for actually pruning the accounts.
*If you haven't logged in for the last 30 days, you'll get the reminder email.
*If you haven't logged in for the last 53 days, you'll get the reminder email again.
*If you haven't logged in for the last 60 days, and you have never posted, you'll be deleted
*If you haven't logged in for the last 60 days, and you have posted, nothing happens, except you will obviously receive an email reminder every 30 days forever, or until you request removal of your account

I'm thinking about customising that part of the mod anyway, so there's 2 different messages based on what the lastactivity was. "Your account will be deleted in 30 days", "Your account will be deleted in 7 days". This needs to be based on their postcount, because I won't be automatically deleting any member who has posted on the forum.
Reply With Quote
  #744  
Old 06-18-2007, 12:52 AM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bbcentral View Post
The only thing I need now is another automated script for actually pruning the accounts.
EZ Bounce
Reply With Quote
  #745  
Old 06-18-2007, 08:14 AM
bbcentral's Avatar
bbcentral bbcentral is offline
 
Join Date: Apr 2006
Location: Australia
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by djbaxter View Post
Nope, that's not what I mean. I don't want to just delete accounts who have bounced emails, I want to delete anyone who hasn't logged in for 60 days and has never made a post.
My site requires a login to download mp3s and videos, same account as the forum. So I have a lot of people who sign up, download my files and never come back. I want to email them after 30 days, then again after 60, and then if they haven't visited or posted I want to delete their account permanently. And it would need to be automated because I don't have time to login every day and manually delete anybody who hasn't logged in for a while.

I think I'll need to write this one myself, but I'm also working on an unsubscription system for my forum. Any emails (like the inactive users one) will contain an unsubscribe link to make it easier for them.
Reply With Quote
  #746  
Old 06-18-2007, 08:57 AM
kollam003 kollam003 is offline
 
Join Date: May 2007
Posts: 154
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed Thanks
Reply With Quote
  #747  
Old 06-18-2007, 12:44 PM
djbaxter djbaxter is offline
 
Join Date: Aug 2006
Location: Ottawa, Canada
Posts: 2,601
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bbcentral View Post
Nope, that's not what I mean. I don't want to just delete accounts who have bounced emails, I want to delete anyone who hasn't logged in for 60 days and has never made a post.
My site requires a login to download mp3s and videos, same account as the forum. So I have a lot of people who sign up, download my files and never come back. I want to email them after 30 days, then again after 60, and then if they haven't visited or posted I want to delete their account permanently. And it would need to be automated because I don't have time to login every day and manually delete anybody who hasn't logged in for a while.

I think I'll need to write this one myself, but I'm also working on an unsubscription system for my forum. Any emails (like the inactive users one) will contain an unsubscribe link to make it easier for them.
1. EZ Bounce will do what you want, with a safety measure. Set up an "Bad email" group. EZ Bounce will move members with bad email addresses to that group. You can then manually inspect and delete those members, or run a simple SL query to delete members of that group.

2. You don't need to write your own add-on to do the unsubscribe thing. Customize the inactive email sent by this add-on to include instructions for unsubscribing (do this in the vBulletin options for the add-on). Here's mine:

Code:
Hello, $username!

<p>You are receiving this email because you previously registered at the YOUR FORUM NAME with the following information:</p>

<p>Member name: $username<br>
User number: $userid<br>
Email address: $email</p>

<p>It's been some time since your last visit to our FORUM community.</p>

<p>You might be interested in having another look. We have added several features and enhancements to the forums, and many new topics and new members are added every day.</p>

<p>If you don't remember your password, you can request it here: <a href="http://WWW.YOURFORUM.COM/login.php?do=lostpw">http://WWW.YOURFORUM.COM/login.php?do=lostpw</a></p>.

<p>We hope to see you back soon.</p>

<p>If you do not wish to receive further emails of this nature, please log into your UserCP at <a href="http://WWW.YOURFORUM.COM/profile.php?do=editoptions">http://WWW.YOURFORUM.COM/profile.php?do=editoptions</a> and uncheck the box next to Receive Email from Administrators.</p>
Reply With Quote
  #748  
Old 06-19-2007, 10:47 AM
bbcentral's Avatar
bbcentral bbcentral is offline
 
Join Date: Apr 2006
Location: Australia
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by djbaxter View Post
1. EZ Bounce will do what you want, with a safety measure. Set up an "Bad email" group. EZ Bounce will move members with bad email addresses to that group. You can then manually inspect and delete those members, or run a simple SL query to delete members of that group.
But there are more reasons why I would want to delete an account than just a bad email address, that's only a tiny fraction of the problem. I also need to delete people who have not logged in or posted in over a particular amount of time.
I had a good look at EZ Bounce, what it does and how it works, and it just doesn't suit my requirements at all, not even slightly.

Quote:
Originally Posted by djbaxter View Post
2. You don't need to write your own add-on to do the unsubscribe thing. Customize the inactive email sent by this add-on to include instructions for unsubscribing (do this in the vBulletin options for the add-on). Here's mine:
It's a nice email, but I really want something much simpler which involves a single click to unsubscribe, like:
website.com/forum/u/?e=user@domain.com&s=hj289h238hsdkjh
That would put their account in the "PendingDeletion" usergroup, send them a confirmation email, and within 24 hours a CRON job would delete the account. They would also be able to cancel the deletion request using the same page.
It doesn't require retrieving passwords or logging in to the forum, I want it to be as simple as possible. I realise this might sound like overkill, but it would fit in with my site a lot better.
If their account has posts on the forum then it wouldn't delete it, but they'd be able to click a button to request deletion (which would simply notify me and I could do it manually for them). But that's not a big problem.

I sent out 12,000 emails to all my members the other night, and while 2000 bounced back to me, I also had a lot of people who wanted their accounts deleted. If they're not ever going to login, never going to post, and never want me to email them, then I may as well just delete them permanently and keep my database clean. The more I can automate, the less time I'll have to waste on daily maintenance.
Reply With Quote
  #749  
Old 06-20-2007, 07:06 AM
bryanb's Avatar
bryanb bryanb is offline
 
Join Date: Oct 2003
Location: Bierland
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by djbaxter View Post
It uses the email address you set for your forum. Change it in basic vBulletin options.
I've had the same problem - the From: field was "the title of the forum"@myserver.net instead of the email address I use for everything else.

I don't have the SMTP Email enabled - could this be it? I've checked all the other options, and I don't see where I've missed anything.

Used it for the first time this morning, it sent out a little over 7000 emails. I'd like to see which ones bounced (or click here to get through the spam filter)

And a previously inactive guy started a new thread. Thanks! :up:
Reply With Quote
  #750  
Old 06-20-2007, 07:31 AM
bbcentral's Avatar
bbcentral bbcentral is offline
 
Join Date: Apr 2006
Location: Australia
Posts: 96
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bryanb View Post
I've had the same problem - the From: field was "the title of the forum"@myserver.net instead of the email address I use for everything else.

I don't have the SMTP Email enabled - could this be it? I've checked all the other options, and I don't see where I've missed anything.

Used it for the first time this morning, it sent out a little over 7000 emails. I'd like to see which ones bounced (or click here to get through the spam filter)

And a previously inactive guy started a new thread. Thanks! :up:
You haven't missed anything, it's a bug in the code.
I fixed it by changing line 69 in remindermail.php from this:
Code:
vbmail($toemail, $subject, $message, $notsubscription = false, $from = $vbulletin->options['bbtitle'], $uheaders = '', $username = '');
To this:
Code:
vbmail($toemail, $subject, $message);
You don't need the headers or anything like that, even the default vBulletin email scripts in the cron folder don't add custom headers.

If I'd known that the return address was screwed I would have fixed it first before sending out my emails, but all the bounces went to nobody@server.mywebsite.com. So I had to login and forward all those emails to my other account.

My changes to the code are working perfectly, every day since I installed it I've received a summary email like this:
Quote:
The Inactive User Reminder System successfully ran today.
This report contains more information.

--------------------------------

Reminders Sent: 5
Not Sent: 0
Total Inactive: 5

--------------------------------

Reminder Emails sent to:
1951) JoeSmith
4507) JohnSmith
10715) JohnDoe
11545) MikeSmith
11562) Mike Joseph
Also have a fully working unsubscription system now, which is at a much more professional standard.
The remindermail.php script includes an unsubscribe link like this:
http://localhost/unsubscribe/?u=170&s=5a516a0923 (testing on my dev server)
'u' is their vBulletin userid, 's' is an encrypted key based on their password and salt. It won't let them login or do anything except unsubscribe.

Assuming that validates, the page will display this:

The member can then choose to unsubscribe if they wish. It simply adds their userid and timestamp to another database table, and when the unsubscribe CRON script runs it will delete the account if the timestamp is over 24 hours ago.

If they click "Delete Account", they will then see this:

If they have never made a post then the account is deleted automatically, but if they have made 1 or more posts on the forum I'd much rather do it manually myself through the AdminCP, to make sure their posts are marked as "Guest" etc. In those cases I'm working on a method to have the request emailed to me after 24 hours have passed, and to also move their account to a new usergroup.

If the UserID and encrypted Key in the URL don't match exactly, they will receive a login screen:

Although this won't actually log them in to the site, it just validates the Username and Password before redirecting back to /unsubscribe/u=$userid&s=$key
Reply With Quote
  #751  
Old 06-20-2007, 01:18 PM
bryanb's Avatar
bryanb bryanb is offline
 
Join Date: Oct 2003
Location: Bierland
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wow, thanks man. I've uploaded your php file to see what happens
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 06:35 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.08135 seconds
  • Memory Usage 2,345KB
  • 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
  • (9)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