Email Level Plugin

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
8,927
Hello,

version 1.6
version 1.7 in testing

Due to popular demand, I've created a basic Email Level plugin.
The plugin allows users to install some php scripts into their accounts which then allows any pop account to login to those scripts to access their pop account setup.

It shows them their current disk usage, ability to change their password, set vacation messages (without bugging the webmaster), and provides them with the 3 links to the webmail programs.

To disable any of the webmail programs, set them to false in the "include/config.php" file.

Installation:

1) To install the plugin:
Admin Level -> Plugin Manager.
Enter the url:

http://www.directadmin.com/email_level.tar.gz

type in your password, and click "Add Plugin".

2) After that, Users will see the "Email Level installer" link in the User Level.
They can click it, and click "Create" to install it. Change values as desired.

Note: NO username or password are required. The email/password do the authenticating. Also, system accounts don't work, so stick with virtual accounts (eg pop@domain.com)

Note, during the creation of this plugin a bug was found and fixed:
http://www.directadmin.com/features.php?id=836
It will be avaiable for the next DA release.
Note that the plugin is able to handle the bug so you won't notice it affecting anything.

Please provide all bugs and feedback in this thread
and avoid emailing us questions about it, as if you have a question, I'm sure someone else will have the same quetion too, as we don't want to be replying to the same emails over and over ;)


Bug Note: I did notice a random error when viewing the vacation message, but it didn't always show up. I wasn't able to duplicate it on all boxes, so I'm not sure if it's specific to just that one box and the php compile.. etc.. so if you see "socket returned no error, but there is data missing. Try reloading this page", let me know in this thread, with your system details. I debugged it quite a bit, but DA was doing it's job, and the httpsocket.php was functioning properly as far as I could tell. Again, this may just be isolated to the 1 build system. Just giving you a heads up ;)

John
 

rldev

Verified User
Joined
May 26, 2004
Messages
1,074
The concept is that if you have an account that has 20 email accounts, this interface will allow each email user to log into their individual email control panel to change things like password, autoresponder, etc.
 

iceuk626

Verified User
Joined
May 6, 2006
Messages
261
Location
United Kingdom
Installation went ok, after i entered my email and password on the login page to try it out i just get a 500 internal error.
 

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
8,927
Installation went ok, after i entered my email and password on the login page to try it out i just get a 500 internal error.
I take it then you're running suphp. Check the /var/log/suphp.log for clues as to why it's complaining. It's probably either the user/group or permissions of the copied files. Check the log and check to see what the permissions are.

Attached are some screenshots.. note fc6.com isn't ours, nor is it "real" in this case, it's just a fake domain on our fedora 6 box on an internal network.

John
 

Attachments

pucky

Verified User
Joined
Sep 9, 2006
Messages
795
Error about not being able to find private_html which is interesting because this is created by DA when a site is created is it not so it should be there.

No futher tests were done (Freebsd). After this error i quit.
 

karl0smoo

Verified User
Joined
Apr 5, 2007
Messages
21
Install went fine after creating/setting permissions on private_html, apart from when trying to view i got the following, any suggestions wouldbe great.


Warning: session_start() [function.session-start]: open_basedir restriction in effect. File(/var/tmp/) is not within the allowed path(s): (/home/userhere/:/tmp:/usr/local/lib/php/) in /public_html/email/login.php on line 9

Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: files (path: ) in
/public_html/email/login.php on line 9

Thanks.
 

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
8,927
Install went fine after creating/setting permissions on private_html, apart from when trying to view i got the following, any suggestions wouldbe great.


Warning: session_start() [function.session-start]: open_basedir restriction in effect. File(/var/tmp/) is not within the allowed path(s): (/home/userhere/:/tmp:/usr/local/lib/php/) in /public_html/email/login.php on line 9

Fatal error: session_start() [<a href='function.session-start'>function.session-start</a>]: Failed to initialize storage module: files (path: ) in
/public_html/email/login.php on line 9

Thanks.
Hello,

/var/tmp isn't the default tmp path the php.ini.
You'd want to check your php.ini and make sure you've got:
Code:
[B]session.save_path = /tmp[/B]
in it.

For CLI php:
/usr/local/lib/php.ini

For suPhp:
/usr/local/etc/php5/cgi/php.ini


OR
change your templates to include /var/tmp in the openbasedir path.
http://help.directadmin.com/item.php?id=2

John
 

twv

Verified User
Joined
Oct 31, 2003
Messages
175
How hard would it be to adapt this plugin to let email users manage their spamassassin settings?
 

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
8,927
Very hard considering the spamassassin settings are not a per pop option. The S.A. settings are only per system account.

John
 

jlandes

Verified User
Joined
Dec 1, 2005
Messages
624
Location
Lewistown, Pennsylvania, USA
John,

In your plugin file, there is a directory called data. I believe this is the directory that contains the files that get installed into the user's public_html directory. Instead of installing this as a plugin, can we just take the files from this data directory and place them into /var/www/html/email_panel and then setup an alias called something like email or user in the server's main httpd.conf file? Then, there would be no need for each user to install this and it would be available for the whole server. Is that possible?
 
Last edited:

jlandes

Verified User
Joined
Dec 1, 2005
Messages
624
Location
Lewistown, Pennsylvania, USA
I like this idea rather than requiring each user to install the files to their public_html directory. One single install that can be managed by the server admin and also one place that DA would need to update if changes were made. I think this is probably the best method, rather than doing it as a plugin. I'll give this a try and see if it works. Thanks John.
 

jlandes

Verified User
Joined
Dec 1, 2005
Messages
624
Location
Lewistown, Pennsylvania, USA
pucky,

Is your private_html directory a symlink to public_html or is it a separate directory? Also, what's the owner and permissions on that vs. your public_html directory? Just trying to help gather some information for troubleshooting. Thanks.
 

pucky

Verified User
Joined
Sep 9, 2006
Messages
795
The creation of all files and directories should be standard. In other words i created a domain then tried to install the plugin on the domain. No errors should appear in regarding to anything. Its a standard installation of CREATE DOMAIN.
 
Top