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
vBMS : vBulletin Mail System Details »»
vBMS : vBulletin Mail System
Version: 3.0.0p, by Krofh Krofh is offline
Developer Last Online: Jun 2013 Show Printable Version Email this Page

Category: Major Additions - Version: 3.6.5 Rating:
Released: 02-28-2007 Last Update: 03-14-2007 Installs: 243
DB Changes Uses Plugins Template Edits
Additional Files Is in Beta Stage  
No support by the author.

vBulletin Mail System

Finally, for vBulletin 3.6, there is a port from filburt1's original hack. For those of you who aren't aware, he essentially declared it open source, and it's been a bit of a wait for someone to fix it up... I've wanted it for my site, too, so I finally sat down and just did it.

What is this?
The vBulletin Mail System is a way to give your users webmail access from your site. They can have a name@yourwebsite.com address, send and receive emails and attachments, etc. Options such as mailbox quotas, limits on numbers/types of attachments, a message trailer ("Free mail at yourwebsite.com!") at the end of each message, etc. are all available as well.

Please note: this is a pre-final version. As far as I have seen, it is working so far for me, but I have not tested it completely and thoroughly and it's very likely there'll be a number of bugs popping up. However, I have successfully been able to install this on a clean board, exchange emails regularly (including attachments), go through all the basic options/etc. without any errors popping up, so it should be fine. Still, make sure you back up your database before installing this, just due to the nature of its "beta"-ness.

To install: upload all files from the "upload" directory to your server in the proper directories. Then, navigate to admincp/vbms_install.php on your server and run the installer. It will make several template additions. If your navbar or header templates hav been modified, it will not be able to do it automatically, and you'll have to add these edits yourself.

In template navbar, find:
Code:
<td class="vbmenu_control"><a href="usercp.php$session[sessionurl_q]">$vbphrase[user_cp]</a></td>
Add after:
Code:
			<if condition="$show['popups']">
				<td class="vbmenu_control" id="navbar_vbms">
					<a href="vbms.php$session[sessionurl_q]">$vbphrase[email]</a>
			
					<if condition="$vbms_newmessages['newcount'] > 0">
						<span style="font-weight: normal; padding: 1px 1px 1px 2px; margin: 0px 3px 0px 2px; border: 1px inset" class="alt1">
							<phrase 1="$vbms_newmessages[newcount]">$vbphrase[x_new]</phrase>
						</span>
					</if>
				
					<script type="text/javascript">
						<!--
							vbmenu_register("navbar_vbms");
						// -->
					</script>
				</td>
			<else />
				<td class="vbmenu_control" id="navbar_vbms">
					<a href="vbms.php$session[sessionurl_q]">$vbphrase[email]</a>
				
					<if condition="$vbms_newmessages['newcount'] > 0">
						<span style="font-weight: normal; padding: 1px 1px 1px 2px; margin: 0px 3px 0px 2px; border: 1px inset" class="alt1">
							<phrase 1="$vbms_newmessages[newcount]">$vbphrase[x_new]</phrase>
						</span>
					</if>
				</td>
			</if>
Find:
Code:
<!-- / header quick search form -->
	</if>

	<if condition="$show['member']">
Add after:
Code:
		<div class="vbmenu_popup" id="navbar_vbms_menu" style="display: none">
			<table cellpadding="4" cellspacing="1" border="0">
				<tr><td class="thead">vBulletin Mail System</td></tr>
				<tr><td class="vbmenu_option"><a href="vbms.php?$session[sessionurl]">$vbphrase[navbar_inbox]</a></td></tr>
				<tr><td class="vbmenu_option"><a href="vbms_new.php?$session[sessionurl]">$vbphrase[navbar_write_message]</a></td></tr>
				<tr><td class="vbmenu_option"><a href="vbms_ab.php?$session[sessionurl]">$vbphrase[navbar_address_book]</a></td></tr>
				<tr><td class="vbmenu_option"><a href="vbms_folders.php?$session[sessionurl]">$vbphrase[navbar_folders]</a></td></tr>
				<tr><td class="vbmenu_option"><a href="vbms_filters.php?$session[sessionurl]">$vbphrase[navbar_filters]</a></td></tr>
				<tr><td class="vbmenu_option"><a href="vbms_options.php?$session[sessionurl]">$vbphrase[navbar_options]</a></td></tr>
				<tr><td class="vbmenu_option"><a href="faq.php?$session[sessionurl]faq=faq_vbms">$vbphrase[navbar_help]</a></td></tr>
			</table>
		</div>
In your ACP, there should be a new set of options in a "vBulletin Mail System" category. That set of options is your main set of management stuff, and is pretty straightforward.

Feel free to post with any bugs or questions you find, etc. I'm trying to get this working again thoroughly, for all of us.

FAQ
  • Is POP support available for my users?
    No, this is similar to a webmail system.
  • What is a catch-all email address, and how do I set it up?
    A catch-all address is an email address that any mail sent to your server that isn't picked up by another account will go to. For example, if someone sends an email to randomgibberish@yoursite.com and you do not have a "randomgibberish" account defined, it would forward to your catch-all account that you have set up, such as all@yoursite.com.
  • Can I run this if my server doesn't let me have a catch-all mail account?
    Yes, but it's not recommended. As has been suggested by a few members, you can set up one mail account to the be "catch-all" and have vBMS connect to that, then set up mail accounts for each member who wants one and have it forward to the catch-all. All this has to be set up manually with your web host, and takes a great deal of willpower and availability from the website administrator, and is thus not recommended.
  • I'm receiving the following error:
    Code:
    Fatal error: Call to undefined function: imap_open()...
    If you're getting an error similar to this, you do not have IMAP functionality available in PHP. Find your php.ini file on your server (usually /usr/local/lib/php.ini on Linux, C:\Windows\php.ini on Windows), and find the extensions section. Uncomment the line ";extension=php_imap.dll" (that is, remove the semicolon at the beginning) and restart your web server. If you don't have access to your web server to do this, contact your web host about installing IMAP support for PHP. If they won't do it, then this hack is not for you.
  • I can't connect to the mail server, with this error:
    Code:
    Warning: imap_open() [function.imap-open]: Couldn't open stream {localhost:110/pop3}INBOX in /includes/vbms_class_installer.php on line 791
    First, make sure that your port number and server information are right. Some mail servers are on non-default ports (this is common), and some you may have to connect to a different host besides localhost (this is very rare). Also, try using the "Force no-TLS connection" option in the vBMS Options in the ACP.
  • I can connect to the server just fine, but it won't get any email!
    Check the "Mail checking logs" in your ACP (under the vBulletin Mail System area). If there are no logs, then the cronjob probably isn't running. If there are logs, see if there are any errors in there. If it's checking the mail account fine and simply says there are no messages, check with a webmail to see if the catch-all account is even receiving mails. If the webmail shows that the account has mail stuck in it and vBMS isn't picking them up, but vBMS is saying it's checking the account alright and finding 0 messages, then you're likely connecting to the wrong account. By doing these steps, you should at least be able to figure out where the problem is occurring.

Install clicks, donations and HotM nominations are always welcome.

Show Your Support

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

Comments
  #52  
Old 03-04-2007, 10:35 PM
wacodep wacodep is offline
 
Join Date: Mar 2005
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Potential bug: Even when 'Change Alias' is set to NO for his usergroup, the my test user can STILL change his alias.

I only have ONE usergroup enabled for this mod, so it's not a 'Generosity' issue.

This test user has a primary of 'Registered Users', but a secondary as this vbms-enabled group.
Reply With Quote
  #53  
Old 03-04-2007, 10:46 PM
Zate Zate is offline
 
Join Date: Apr 2003
Posts: 59
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wont install - Fails at the begining of the install process when it checks to see if it can login to the pop server.

Pop server tests fine by my webmail client, and by telneting to port 110 and logging in with USER username PASS password. I have tried verbose and the error details are still blank.

php 5.1.x
Reply With Quote
  #54  
Old 03-04-2007, 10:56 PM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Strictly internal = teh best. I may modify it to use individual email accounts for my own site since my server doesn't support catchalls.
Reply With Quote
  #55  
Old 03-04-2007, 11:14 PM
eNforce's Avatar
eNforce eNforce is offline
 
Join Date: Aug 2004
Location: Canada, AB
Posts: 341
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Fatal error: Call to undefined function: imap_open() in /includes/vbms_class_installer.php on line 790

I also get this error ^

The server is a linux one, and imap is confirmed working. Is there any way to get around this and continue the installation?
Edit: I uncommented the extension and restarted web server and it still displays the error.

Edit: I've contacted my host asking them to recompile php with the extension or whatever, we'll see what happens.
Reply With Quote
  #56  
Old 03-05-2007, 01:25 AM
wacodep wacodep is offline
 
Join Date: Mar 2005
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Deleting a mail folder DOES delete it, but it also gives the following SQL error:

Quote:
Database error in vBulletin 3.6.5:

Invalid SQL:
SELECT SUM(LENGTH(message)) AS bytesused
FROM vbms_message
WHERE messageid IN () AND userid = 2;

MySQL Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND userid = 2' at line 3 Error Number : 1064
Date : Sunday, March 4th 2007 @ 10:09:50 PM
Script : <...myforumsurl...>/vbms_folders.php?action=delete&folderid=1
Referrer : <...myforumurl...>/vbms_folders.php?
Perhaps messageid() array should not be empty? Or should it be folderid()?
Reply With Quote
  #57  
Old 03-05-2007, 05:25 AM
eNforce's Avatar
eNforce eNforce is offline
 
Join Date: Aug 2004
Location: Canada, AB
Posts: 341
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, so my host got me sorted and I must say this hack is very very impressive!
Reply With Quote
  #58  
Old 03-05-2007, 06:05 AM
Krofh's Avatar
Krofh Krofh is offline
 
Join Date: Aug 2005
Posts: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Glad to see you got that sorted, eNforce.

Quote:
Originally Posted by wacodep
Deleting a mail folder DOES delete it, but it also gives the following SQL error:
It seems to only give that error on deleting empty folders. If you upload the fixed vbms_functions_api.php attached here to your "includes" directory, that should fix it.
Quote:
Originally Posted by wacodep
Potential bug: Even when 'Change Alias' is set to NO for his usergroup, the my test user can STILL change his alias.

I only have ONE usergroup enabled for this mod, so it's not a 'Generosity' issue.

This test user has a primary of 'Registered Users', but a secondary as this vbms-enabled group.
Will look into this one tomorrow, thanks for pointing it out.
Quote:
Originally Posted by TTG
Produces a mail icon !?
If you're getting a mail icon from that, then there should be something in the admin logs referring to it. Go to your ACP > vBulletin Mail System > Mail Checking Logs, there should be a log (or lots of them) with little exclamation points next to them... what errors are in there?

As to those of you who have PHP 5, I think I've got it sorted; the original hack had a bizarre coding for the imap_open connection string which PHP 5 didn't much like, and I didn't notice it while porting the hack. If you upload the vbms_functions_checkmail.php file attached in your "includes" directory, it should fix that issue.

I'm going to go ahead and repackage the original zip with these two updated files, and hopefully get to some of the usergroup stuff tomorrow.

Note: to those of you who can't see the other usergroups in the ACP, can you send me screenshots of your ACP > vBulletin Mail System > Permissions and your Usergroup Manager pages? I can't seem to reproduce the problem you're describing. When I install this on a clean forum with a few extra test usergroups, it recognizes them; when I then add usergroups after installing this, it also recognizes them.
Reply With Quote
  #59  
Old 03-05-2007, 01:12 PM
TTG's Avatar
TTG TTG is offline
 
Join Date: May 2004
Location: Sth London
Posts: 1,042
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Krofh View Post
If you're getting a mail icon from that, then there should be something in the admin logs referring to it. Go to your ACP > vBulletin Mail System > Mail Checking Logs, there should be a log (or lots of them) with little exclamation points next to them... what errors are in there?
there are LOADS of logs .. had to turn 'em off for now until I get this problem solved. Logs all show :-

Quote:
Debug 05-03-2007 02:25 PM Connecting to mail server
Debug 05-03-2007 02:25 PM Retrieving message count...
Information 05-03-2007 02:25 PM There are 0 messages on the POP3 server that need to be downloaded
Debug 05-03-2007 02:25 PM Closing connection
Information 05-03-2007 02:25 PM vBMS mail checking completed
But there are 6 emails in the catch all email and they can be read in web mail with no problems !?
Reply With Quote
  #60  
Old 03-05-2007, 05:38 PM
bluechris bluechris is offline
 
Join Date: Nov 2006
Location: Athens. Greece
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there a reason that my attachments are deleted ? i mean i get mails in VBMS but when i read the message the attachment has a X icon and says

This message contains 1 attachment(s) that have been automatically deleted. The likely reason is that either they had names that could potentially contain viruses, or you do not have permission to receive attachments. The information for these deleted attachment(s) is displayed below.

The name of the attachment is a goal.jpg ... and as for permissions i am administrator in the forum...
Reply With Quote
  #61  
Old 03-05-2007, 06:37 PM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Once I finally got past the PHP 5 imap_open() error on my own last night, I had to create email accounts for all my users that forward to the vbms one, since my server doesn't support catchalls.

So, it could become problematic if people start changing their aliases even though they supposedly don't have permission. I hope this gets sorted soon.
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 12:00 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.05150 seconds
  • Memory Usage 2,333KB
  • 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
  • (6)bbcode_code
  • (6)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