Merge branch 'master' into debian
This commit is contained in:
commit
d1f9ddce59
31
README.md
31
README.md
|
@ -1,34 +1,40 @@
|
||||||
# Evoadmin mail
|
# Evoadmin Mail
|
||||||
|
|
||||||
Evoadmin mail is a Web Interface for manage an LDAP directory designed for mail accounts.
|
Evoadmin-mail is a web interface to an LDAP directory designed for
|
||||||
|
mail accounts.
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
Evoadmin-mail requirements are an LDAP server, a Web server and PHP. See [INSTALL](docs/install.md) for configure them.
|
Evoadmin-mail requirements are an LDAP server, a web server and
|
||||||
|
PHP. See [INSTALL](docs/install.md) for instructions.
|
||||||
|
|
||||||
Multiples services can be configured to use the LDAP directory managed by Evoadmin-mail :
|
Multiples services can be configured to use the LDAP directory
|
||||||
|
managed by Evoadmin-mail :
|
||||||
|
|
||||||
- TODO
|
- TODO
|
||||||
|
|
||||||
## Test
|
## Test
|
||||||
|
|
||||||
You can deploy a test environmment with Vagrant :
|
You can deploy a test environment with Vagrant :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
vagrant up
|
vagrant up
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Evoadmin mail respond to evoadminmail.packmail.example.com domain on localhost, so update your /etc/hosts :
|
Evoadmin-mail uses the evoadminmail.packmail.example.com domain
|
||||||
|
on localhost, so update your /etc/hosts :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
127.0.0.1 evoadminmail.packmail.example.com
|
127.0.0.1 evoadminmail.packmail.example.com
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Congratulation, Evoadmin mail is now accessible throught https://evoadminmail.packmail.example.com:8443
|
Congratulation, Evoadmin mail is now accessible through
|
||||||
|
https://evoadminmail.packmail.example.com:8443
|
||||||
|
|
||||||
### Authentication
|
### Authentication
|
||||||
|
|
||||||
Default admin user is "evoadmin", password is randomly generated and can be recovered from LDAP :
|
The default admin user is "evoadmin", the password is randomly
|
||||||
|
generated and can be recovered from LDAP :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
vagrant ssh
|
vagrant ssh
|
||||||
|
@ -38,7 +44,8 @@ ldapvi --ldapsearch "(uid=evoadmin)" | grep userPassword | awk '{ print $2 }'
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
|
|
||||||
Launch rsync-auto in a terminal for automatic synchronisation of your local code with Vagrant VM :
|
Launch rsync-auto in a terminal to automatically synchronise your
|
||||||
|
local code with the Vagrant VM :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
vagrant rsync-auto
|
vagrant rsync-auto
|
||||||
|
@ -46,6 +53,8 @@ vagrant rsync-auto
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This project is an [Evolix](https://evolix.com) project and is licensed under AGPLv3, see the [LICENSE](LICENSE) file for details.
|
This is an [Evolix](https://evolix.com) project and is licensed
|
||||||
|
under the AGPLv3, see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
Evolix trademark and logo are not freely reusable and are protected by copyright.
|
The Evolix trademark and logo are not freely reusable and are
|
||||||
|
protected by copyright.
|
||||||
|
|
|
@ -192,6 +192,8 @@ class FormController {
|
||||||
,self::$form['courieractive']
|
,self::$form['courieractive']
|
||||||
,self::$form['webmailactive']
|
,self::$form['webmailactive']
|
||||||
,self::$form['authsmtpactive']
|
,self::$form['authsmtpactive']
|
||||||
|
,self::$form['mailaccept']
|
||||||
|
,self::$form['maildrop']
|
||||||
);
|
);
|
||||||
PageController::$alerts[] = array('type' => 0, 'message' => "Modification effectué.");
|
PageController::$alerts[] = array('type' => 0, 'message' => "Modification effectué.");
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ class LdapAccount extends LdapDomain {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update($name=NULL,$password=NULL,$active=NULL,$admin=NULL,$accountactive=NULL,$courieractive=NULL,$webmailactive=NULL,$authsmtpactive=NULL,$amavisBypassSpamChecks=NULL) {
|
public function update($name=NULL,$password=NULL,$active=NULL,$admin=NULL,$accountactive=NULL,$courieractive=NULL,$webmailactive=NULL,$authsmtpactive=NULL,$mailaccept=array(),$maildrop=array()) {
|
||||||
$info["cn"] = (!empty($name)) ? $name : $this->name;
|
$info["cn"] = (!empty($name)) ? $name : $this->name;
|
||||||
if (!empty($password)) {
|
if (!empty($password)) {
|
||||||
$info["userPassword"] = LdapServer::hashPassword($password);
|
$info["userPassword"] = LdapServer::hashPassword($password);
|
||||||
|
@ -49,6 +49,8 @@ class LdapAccount extends LdapDomain {
|
||||||
$info["webmailActive"] = ($webmailactive) ? 'TRUE' : 'FALSE';
|
$info["webmailActive"] = ($webmailactive) ? 'TRUE' : 'FALSE';
|
||||||
$info["authsmtpActive"] = ($authsmtpactive) ? 'TRUE' : 'FALSE';
|
$info["authsmtpActive"] = ($authsmtpactive) ? 'TRUE' : 'FALSE';
|
||||||
#$info["amavisBypassSpamChecks"] = ($amavisBypassSpamChecks) ? 'TRUE' : 'FALSE';
|
#$info["amavisBypassSpamChecks"] = ($amavisBypassSpamChecks) ? 'TRUE' : 'FALSE';
|
||||||
|
$info["mailacceptinggeneralid"] = array_filter($mailaccept, function($value) { return $value != ""; });
|
||||||
|
$info["maildrop"] = array_filter($maildrop, function($value) { return $value != ""; });
|
||||||
if (!ldap_mod_replace($this->conn, self::getBaseDN($this), $info)) {
|
if (!ldap_mod_replace($this->conn, self::getBaseDN($this), $info)) {
|
||||||
$error = ldap_error($this->conn);
|
$error = ldap_error($this->conn);
|
||||||
throw new Exception("Erreur pendant la modification du compte : $error");
|
throw new Exception("Erreur pendant la modification du compte : $error");
|
||||||
|
|
Loading…
Reference in a new issue