Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.7 > vBulletin 3.7 Add-ons

Reply
 
Thread Tools
Email Integration (New Threads/Replies by and through email!) Details »»
Email Integration (New Threads/Replies by and through email!)
Version: 2.6, by Cyricx Cyricx is offline
Developer Last Online: Dec 2011 Show Printable Version Email this Page

Category: Major Additions - Version: 3.7.x Rating:
Released: 01-30-2008 Last Update: 02-28-2008 Installs: 114
DB Changes Uses Plugins Template Edits Auto-Templates
Code Changes Additional Files  
No support by the author.

This modification allows you to mimic email lists such as yahoo groups through your forums!

Complete with the user's receiving emails for new threads and replies AND being able to reply directly from email or sending a new email to start a new thread!

Just like email lists, you will need a separate email box for EACH forum that you have this enabled for!!

After installing this modification in the forum manager you will enter the settings for each forum to connect to it's own email box.

After doing so, members can subscribe to each forum that this mod is enabled for to receive notifications for new threads and replies.

Any posts in that forum, will be sent to them via email in one of two formats that you as the administrator decide. One format has a "reply box" and is the most sure fire way of not getting excess email crap ont he forums. The second format (noted as "Old" format) keeps an email in its base pure form with some attempts at quoting messages. Examples of both are attached below.

The users can then reply to that email (which will then be processed and posted to the forums through the cron job that runs every 10 minutes), or they can send a new email to the email address and a brand new thread will be created!

Essentially mimicing an email list! Suddenly those users that hate forums, can still be dragged into the conversations and help keep the forum's activity level up!


IMAP
You MUST have php imap functions enabled on your server to use this modification! You do not need to have IMAP installed, just have to enable php to use the functions by recompiling it with imap enabled!


If you are upgrading from the version
for vbulletin 3.6.x , see below!

BUGS!
These are the known bugs to date:
  • Unconfirmed bug that email processing does not handle Japanese characters.
Unsupported Items
These are the items that are not currently supported:
  • Some custom bbcode modifications will not display like they do on the forums in the html emails. Like glow, and the table mod.
TO UPGRADE
  • Please see the file in the zip for upgrading!! If your upgrading from version 2.3.X you will need to reverse some file edits that are no longer nessecary!
NEW INSTALL
  • See instructions in the zip file.
VERSION HISTORY!
  • 2.5 Release
    • New Features
      • Email Integration now uses vbmail! This DOES require one small file edit.
  • 2.5.1 Release -
    • New Feature -
      • Added some debug triggers in the cron file. Turning on debug will stop email sfrom being deleted after they are processed and if a message errors out, the error email will be sent to an admin specified email address which is set in the cron file.
    • Bug Fixes -
      • Fixed incorrect call to plain text parsing. (this is the cause of the duplicate posting/undefined function errors)
      • Corrected security hole.
      • Corrected a typo in the error message for attachments that are too large.
      • Rebuilt the method of determining attachment types vs max size to handle more then 2 attachments. Previous code would not process more then 2 attachments.
      • Added a call to determine the parentid for replies if one isn't specified prior to the post being added to the database from emails.
      • Fixed a bug where previous messages were blank in new layout for posts that didn't have a parentid specified.
  • 2.5.2 Release
    • Bug Fixes
      • Fixed bug with new users not being automatically subscribed to forums when it is enabled for their usergroup.
      • Added a dirty regex fix for utf-8 encoded filenames.
  • 2.5.3 Release
    • Bug Fixes
      • Fixed bug that displayed "Set All Instant" on User CP Subscribe Forums page when no forums were setup for Instant Email Notification.
      • Fixed bug that allowed forums that were set inactive to appear on the User CP SUbscribe Forums page.
      • Fixed bug with the how the "New Layout" processs improving how it tries to remove the first layer of > signs in replies.
    • Improvement/Bug Fix
      • Changed the field in the Forum Manager for forum['ei_usergroups'] so that it now controls not only who can reply via email. But who can receive instant notification emails. It is now titled "Please enter the usergroup IDs that can use this feature."
      • Added the phrase "You may increase the space between the above lines as needed." to the "New Layout" email templates to alleviate user confusion.
  • 2.5.4 Release
    • Bug Fixes
      • Added a quickfix for a bug that caused a function error when replying to a thread that a user was subscribed to while in a forum that was enabled for Email Integration.
    • Error Checks Added
      • Added a function exists check to the cron file and the search settings page to warn people when they have not correctly enabled imap functions.
  • 2.5.5 Release
    • Bug Fixes
      • Added a check to subscribeforum.php to not display subscription options for forums that are links.
      • Fixed a bug that caused the cron to incorrectly list the username and signature in the emails. (The post processed to the forums were correct, it was just the emails that were screwy sometimes.)
      • Slightly modified phrase and variables for replies so that if a post has a title, it'll use that title for the email, if not, it'll use the thread title like before.
  • 2.6 Release
    • Bug Fixes
      • Joining an unmoderated public group will now auto subscribe you per the usergroup settings.
      • NO CONFLICTS with Instant Thread Subscription! See details in below post.
    • New Stuff
      • User Option Allow Auto Subscribe - This is an admin allowable, user option that let's the user choose to not be auto subscribed.
      • User Option not receive own posts - A new user option that lets them select to NOT receive their own posts via email.
      • Editted the phrase for the Auto Subscription script to tell people what to do if there are no listings.
      • Added error checks when saving a usergroup for if auto subscriptioin is entered with a forumid for a forum that does not have email integration enabled and also checks that the usergroup you are saing is entered in the forum manager as allowed to use email integration.
  • 2.6.1 Release (BETA VERSION)
    • Hot Fix
      • It appears I was unseting a variable too soon. I've corrected this and it has resolved the issue with multiple posted replies on my test server.
Most of these will be slow to make it in til I know I've got the code to handle just about every type of email we could receive But in anycase, here are the ideas for future versions!
  • End User Option to subscribe to just receive new thread emails, or receive all new thread & reply emails (current version does all new threads & replies).
Thanks to RedTyger, Bob Denny, Ed Kohwley and Chris McKeever for their additions and assistance with portions of this code.

Huge thanks also goes to the many individuals that have helped test various incarnations of this mod.

MAD PROPS TO: cgmckeever for a great quoting regex for the old format, and all the mods at www.4winmobile.com for helping test version 2.4 prior to release!!

You guys rock!

Please feel free to donate to my continued work on this modification!! It let's me spend more time on it!
Make a Donation!


Version 2.6 will work with both 3.6.8 and 3.7x


Upgrading from version for 3.6.x
  • Due to using different product ID's due to the changes that will be coming up for the version for vbulletin 3.7.x you will need to uninstall the 3.6.x version and install the 3.7.x version in this thread. My apologies for the inconvienance, I've been unable to determine an alternative with the 3.6.x version still in development due to the last few bugs.
The #.X versions are the solid tested versions.

The #.X.X versions are the beta versions. New features and bug fixes will be worked in there and then when I have a solid version it'll be released as the next #.X

Thank you!!

~ Cyricx

Supporters / CoAuthors

Show Your Support

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

Comments
  #2  
Old 01-31-2008, 12:46 PM
soletrader soletrader is offline
 
Join Date: Jul 2006
Posts: 340
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Where are the files?
Reply With Quote
  #3  
Old 01-31-2008, 12:47 PM
Cyricx Cyricx is offline
 
Join Date: Aug 2002
Location: Missouri
Posts: 1,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Beat me to the punch!

They are uploaded now!



FAQ
  • How do the emails work?
Quote:
This is a basic rundown of how the emails work..

When a new thread is created on the forum, plugins check for the email integration settings and then send an email out to everyone that has subscribed to that FORUM for instant email notification.

When a new reply is added to a thread, the plugins check to see what forum that thread is in, and then if that forum has email integration settings, and then sends an email out to everyone that is subscribed to that FORUM for instant email notification.

The cron job does the processing of the emails.

It checks your forums for email integration settings and then connects to each of the mailboxes one at a time. Pulls all the messages out, decodes them, cleans them up, checks for errors etc.

To determine who the user for the email is it checks the email header for who it came from. If you have strict email turned on, it grabs the username and then verifies what domain sent the email. If you have strict email turned off, it just grabs the email address of the person that sent the email. Note: this can be easy to fake.

O.. and yahoo mailing lists... do not use strict email checking. You can post as just about anyone you want in seconds from microsoft outlook

It then checks the "in_reply_to" in the message header. This should contain a predefined group of characters that let's us know it's a reply and assigns the post to the correct thread and parentid. Some virus scanners change this so in the subject line of reply emails is the threadid number. We check for that next as a backup If it doesn't match either of these criteria, it's classified as a new thread.

If it is determined that the email is a reply, it uses the datamanager to send the reply and uses the plugins to send out the emails.

If it is a new thread, then it uses the datamanager to post the new thread and uses embedded code in the file to send the email.

It then flags the message to be deleted and before closing each mailbox, expunges all marked messages from it. (Just incase an email came to the box after it had grabbed the list, this way one doesn't get lost! )

So the only time you'll get an email when you run the cronjob is when it is grabbing an email

Additionally, manually running the cron job will sometimes cause the quote boxes to not appear in the mailbox. This is due to the bbcode_quote template not being cached in the admincp
  • Error - Undefined Function
Quote:
If you get the error the below error you will need to enable IMAP support on your server. If you host your own server, check your php.ini file, the line for imap support will be commented out. If you do not host your own server, request your host to enable this.
  • Fatal error: Call to undefined function: imap_open() in
    /*****/includes/cron/emailintegration.php on line XXX
To verify if you have IMAP installed go to your admincp -> Maintence -> View Php Info and you should see something like this:

additional .ini files parsed /etc/php.d/imap.ini,

OR

imap

IMAP c-Client Version 200X


To correct this problem you will need to have the php.ini file recompiled with IMAP functions enabled -
http://us.php.net/manual/en/ref.imap.php

You do not need to have IMAP installed, but if you wish to also install IMAP, instructrions for doing so can be found here -
http://us.php.net/imap
  • Error - Couldn't open stream
Quote:
If you get this error while manually running the cron job (suggested to do the first time to be sure it's running right!)

imap_open() [function.imap-open]: Couldn't open stream

Your connection type setting for one or more of your forums are incorrect. I suggest only setting up one forum the first time. Edit that forum, and try one of the other 6 connection types. Then rerun the cron. It's a trial and error if you do not know how your server is setup. Some people use IMAP, some POP3 and others still use POP3 with Official Certificate, so try all 6.
  • Can I use a Gmail account to pull the emails from?
Quote:
You most certainly can.

Login to your mailbox at gmail, go to Settings -> Forwarding and POP/IMAP

Enable POP for the account, either from here on, or for all mail. Be sure to select archive or delete for what to do after the messages are downloaded. Otherwise the system will continue to repost the emails!!

In your forummanager use the folowing settings:

email address to reply to: username@gmail.com
hostname: pop.gmail.com
username: username@gmail.com
password: password
Type of connection: select "POP3 with SSL (Self signed certificate)"

Done!
  • Smilies don't show up in html emails!
Quote:
Images are stored in html files with the url for the location of the image. Edit your smilies in the smilie manager and give them all the true url of the image location. For example instead of /smilies/smilie.gif change them to http://www.yourdomain.com/forum/imag...ies/smilie.gif

That will allow them to show up correctly in email.


How does it work with Thread Subscriptions?
Quote:
This plugin does NOT change how thread subscriptions work. You get the same emails, same format for thread subscriptions.

It just adds an option to instant subscribe to the forum and those emails you can reply to.

However... it does have a series of checks to be sure that these two don't conflict. Here's a fairly concise list of how this plugin integrates with the subscribe thread function.

When an email reply is processed, it checks if user's are subscribed for instant notification for the forum AND the thread.
  • If they are, it removes their subscriptions to the thread and sends them a forum email.
  • If a user is only subscribed to the forum, then they get the forum email.
  • If a user is only subscribed to the thread, they get vbulletins default thread email.
When a reply is posted on the forums for a forum that email integration is turned on for, it runs the same checks as above.

Additionally, if a user has it setup to be instantly subscribed to all threads they reply to it checks then to see if they are subscribed to the forum. If they are, it doesn't allow the system to also subscribe them to the thread.

If a user tries to subscribe to a thread for instant notification for an EI Enabled forum and they are also subscribed for instant notification to the forum, it'll give them an error. However, they may still subscribe to the thread for daily or weekly updates while still having instant notification to the forum.

Is that confusing enough?? Trying writing the code for it!
Reply With Quote
  #4  
Old 01-31-2008, 02:45 PM
ssslippy ssslippy is offline
 
Join Date: Jan 2006
Posts: 877
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Supper mod, Nominated
Reply With Quote
  #5  
Old 01-31-2008, 03:44 PM
Cybertims Cybertims is offline
 
Join Date: Nov 2005
Location: Bedfordshire
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Fatal error: Call to a member function query_first_slave() on a non-object in C:\xampp\htdocs\global.php on line 247

Any clues as to this error? I get that when I run the cronjob.

Cheers
Reply With Quote
  #6  
Old 01-31-2008, 03:53 PM
Cyricx Cyricx is offline
 
Join Date: Aug 2002
Location: Missouri
Posts: 1,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Edit:

I suspect the issue is with the file edit. Please be sure you have followed the file edit needed in the /includes/class_mail.php file.
Reply With Quote
  #7  
Old 01-31-2008, 04:02 PM
Cybertims Cybertims is offline
 
Join Date: Nov 2005
Location: Bedfordshire
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Cyricx View Post
Edit:

I suspect the issue is with the file edit. Please be sure you have followed the file edit needed in the /includes/class_mail.php file.
Yup, the edit is there and just the way it should be......
Reply With Quote
  #8  
Old 01-31-2008, 04:12 PM
Triky's Avatar
Triky Triky is offline
 
Join Date: Mar 2007
Location: [Italy]
Posts: 728
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I will try it!
Reply With Quote
  #9  
Old 01-31-2008, 04:41 PM
Cyricx Cyricx is offline
 
Join Date: Aug 2002
Location: Missouri
Posts: 1,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cybertims,

I've removed the references to _slave in the queries in some of the plugins and the /includes/cron/emailintegration.php file.

Please reimport and overwrite with the xml included in this zip and overwrite the /includes/cron/emailintegration.php file.

If that doesn't resolve your issue let me know and we will take a closer look at things
Reply With Quote
  #10  
Old 01-31-2008, 04:45 PM
Cybertims Cybertims is offline
 
Join Date: Nov 2005
Location: Bedfordshire
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Interesting, but even though that error happens when I manually run the cron, the system still works and everything posts ok on the Forum and emails go out ok.

Will try this new xml file as well.....

Cheers
Reply With Quote
Reply

Thread Tools

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:37 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.07810 seconds
  • Memory Usage 2,327KB
  • Queries Executed 24 (?)
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
  • (7)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
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)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