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
  #102  
Old 03-14-2007, 05:39 PM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, it works. You just have to get the imap_open() call working correctly on your server, since there doesn't seem to be one fix-all. My biggest annoyance right now is the broken cron-image (but the cron still runs successfully).

Try my fix above.
Reply With Quote
  #103  
Old 03-14-2007, 05:41 PM
abroad abroad is offline
 
Join Date: Mar 2007
Posts: 231
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how do I run the imap_open() correctly?
Reply With Quote
  #104  
Old 03-14-2007, 06:27 PM
techenigma techenigma is offline
 
Join Date: Dec 2006
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok I checked my logs and I get the following error:

Severity Date/Time Message
Debug 03-14-2007 11:23 AM Connecting to mail server
Error 03-14-2007 11:23 AM PHP error: imap_open(): Couldn't open stream {localhost:143/pop3}INBOX (/home/techenig/public_html/forums/vbms_checkmail.php:95)

I called my host and they told me the imap port is 143 hence why I changed it from the default of 110 (I got the error on both ports actually)

I also asked if I had IMAP support on PHP and they said yes. So are they wrong? or is something else causing this?
Reply With Quote
  #105  
Old 03-14-2007, 07:16 PM
chilllax chilllax is offline
 
Join Date: Nov 2005
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm receiving a similar error. I can send but not receive emails.

PHP Code:
     PHP errorimap_open() [<a href='function.imap-open'>function.imap-open</a>]: Couldn't open stream {mail.officialhalo.com:110/pop3}INBOX (/home/chilllax/public_html/vbms_checkmail.php:95) 
Reply With Quote
  #106  
Old 03-14-2007, 09:17 PM
succo succo is offline
 
Join Date: Sep 2003
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

a little note...

as it's now, sender's nick and alias is switched in the sent message... i mean that if succo with alias succo1@mydomain.com sends a message, it's received as coming from succo1 <succo@mydomain.com>

to solve this you have to edit (and switch) $user['username'] and $user['vbms_alias'] in vbms_functions_api.php

so, find
PHP Code:
        $object->set_from($user['vbms_alias'], $user['username']); 
and subst it with
PHP Code:
        $object->set_from($user['username'], $user['vbms_alias']); 
i didn't go much deeper in the api, and this 'simple' solution seems strange to me as set_from is defined ($alias, $username) but strange as is, it works

Quote:
Originally Posted by mindcry
* The following aliases could not be translated from usernames or address book entries: name <name@gmail.com>
it happens just the same to me, and i don't think it has been solved yet
Reply With Quote
  #107  
Old 03-14-2007, 09:26 PM
zlos zlos is offline
 
Join Date: May 2005
Location: PL
Posts: 101
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I definetely agree with these guys, who are insisting on 1st - creating and 2nd - giving MOTY (Mod Of The Year) to this mod.

A great idea! Cool that you decided to give it a try. Do not listen to the scriptkiddies, who do not even know how to switch imap on their boxes. It is definetely not your problem, that somebody wants to play sexy games while still sitting in kindergarden

Only a few questions, knowing that I have over 150.000 users I must ask these now:

- what happens to the usernames with irregular chars in it (ex.: b@eutygirl@foo.org - won't work, right? Any solution to that?)

- any tests & results with server load on big board?

Take care and - once again - great job!
Reply With Quote
  #108  
Old 03-14-2007, 09:47 PM
eugeneo eugeneo is offline
 
Join Date: Mar 2005
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

NVM fixed
Reply With Quote
  #109  
Old 03-15-2007, 06:17 AM
thincom2000 thincom2000 is offline
 
Join Date: May 2006
Location: Bronx, NY
Posts: 1,205
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Attempting to send mail to users who have "receive mail from other users" checked still results in a "User has chosen not to receive e-mails from other users" message anyway.
Reply With Quote
  #110  
Old 03-15-2007, 06:40 AM
Krofh's Avatar
Krofh Krofh is offline
 
Join Date: Aug 2005
Posts: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by zlos
- what happens to the usernames with irregular chars in it (ex.: b@eutygirl@foo.org - won't work, right? Any solution to that?)
It only allows characters from the list "abcdefghijklmnopqrstuvwxyz0123456789_.-". Your "b@eutygirl" friend will be suggested to choose the alias "beutygirl" by default, but it'll let her pick something else as well.
Quote:
Originally Posted by zlos
- any tests & results with server load on big board?
Not yet, unless someone else can speak for it... I'm waiting to put it on my board (600k+ posts) till I get a few more bugs worked out
Quote:
Originally Posted by succo
as it's now, sender's nick and alias is switched in the sent message... i mean that if succo with alias succo1@mydomain.com sends a message, it's received as coming from succo1 <succo@mydomain.com>

to solve this you have to edit (and switch) $user['username'] and $user['vbms_alias'] in vbms_functions_api.php
Thanks for finding that, and thanks muchly for solving it as well. This'll be included in the next update (should be within an hour or so, I'm trying to work through as many bugs as I can before going out of town in the morning for the weekend).

To those of you who aren't able to connect properly: perhaps your servers require no-TLS connections? At the moment the setting isn't working properly (small bug), just wait for the next version of the code (like I said, should be up in an hour or so) or if you want to fix it yourself, go to includes/vbms_functions_checkmail.php and change this line:
Code:
$notls = ($notls === NULL ? $vbulletin->options['vbms_notls'] : $notls);
To this:
Code:
$notls = ($notls === NULL ? $vbulletin->options['vbms_forcenotls'] : $notls);
Quote:
Originally Posted by abroad
I tried it with gmail, yahoo and gmx but I cant get a connection when I want to install it...also tried several ports
I'm not sure what you're talking about, but this hack is not something for you to check your GMail/Yahoo/etc. accounts from your forums with, this is a webmail system for your users based @yourwebsite.com.

Quote:
Originally Posted by thincom2000
Attempting to send mail to users who have "receive mail from other users" checked still results in a "User has chosen not to receive e-mails from other users" message anyway.
I'm not sure I follow, can you be more specific? From my testing so far, none of the users have had the "Receive Email from Other Members" box checked, but that hasn't affected the vBMS stuff. I don't think there's any connection, unless there's something I haven't caught yet (there's several thousand lines of code and I'm just porting it... lol, there's still parts of the code I haven't even seen at all)
Edit: nvm, figured out what you're talking about, will try to look into this


Update: new version posted, with several bugfixes. For those of you already using this, you can either uninstall everything, reupload it all, and reinstall it (not recommended if you've already got ppl using the system, they'll probably lose all their emails/etc.), or reupload all the files and then reimport the style and phrase XML files through the ACP.
  • Fixed the usergroup bug wacodep brought up... sort of. Basically, if you have "Registered Users" access disabled but inadvertently left "Change Alias" set to "Yes", then have a secondary usergroup with access enabled and "Change Alias" to "No", and a user who is both of these usergroups, you want them to have access but not be able to change their alias... well, the generosity of the permissions system allows them to still change their alias, because it doesn't take into account whether the more generous usergroup permissions have acccess or not. Now, it simply uses a small JavaScript to automatically set the most restrictive permissions on a usergroup that you disable, for convenience's sake.
  • Fixed Zate's reported bug of no-TLS not being picked up from the ACP into the connection string
  • Fixed thincom02000's reported bug of sending directly to people by username not properly picking up on the permissions of whether or not they allowed other users to send them email
  • Fixed mindcry's reported bug of email addresses such as "nobody <nobody@gmail.com>" returning as invalid

bluechris: I'm still working on the issue with the foreign characters, haven't quite figured that one out yet.
To those of you having connection problems: try upgrading to the newer uploaded version, then use the "Force no-TLS connection" option in the ACP.
To the rest of you: I'm going out of town for a few days, hopefully I'll be able to get more of this fixed up when I get back.
Reply With Quote
  #111  
Old 03-15-2007, 09:09 AM
abroad abroad is offline
 
Join Date: Mar 2007
Posts: 231
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I have one more kindergarten question, as I also want to play sexy games.

If you cant use gmail, hotmail etc...which values are you entering in those fields (see attachment).
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 08:40 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.05448 seconds
  • Memory Usage 2,348KB
  • 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
  • (8)bbcode_code
  • (3)bbcode_php
  • (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