5,10 → 5,9 |
/**************************************************************** |
* GLOBAL FILE PATHS * |
*****************************************************************/ |
define('CONF_FILE', '/usr/local/etc/alcasar-mail.conf'); |
|
define('CONF_FILE', '/usr/local/etc/alcasar.conf'); |
/**************************************************************** |
* FILE reading test * |
* Conf files reading test * |
*****************************************************************/ |
$conf_files = array(CONF_FILE); |
foreach ($conf_files as $file) { |
19,7 → 18,6 |
exit("Vous n'avez pas les droits de lecture sur le fichier $file"); |
} |
} |
|
/**************************************************************** |
* Read CONF_FILE * |
*****************************************************************/ |
31,6 → 29,19 |
$buffer = fgets($file_conf, 4096); |
if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) { |
$tmp = explode('=', $buffer, 2); |
$mail_conf[trim($tmp[0])] = trim($tmp[1]); |
} |
} |
fclose($file_conf); |
|
$file_conf = fopen(CONF_FILE, 'r'); |
if (!$file_conf) { |
exit('Error opening the file '.CONF_FILE); |
} |
while (!feof($file_conf)) { |
$buffer = fgets($file_conf, 4096); |
if ((strpos($buffer, '=') !== false) && (substr($buffer, 0, 1) !== '#')) { |
$tmp = explode('=', $buffer, 2); |
$conf[trim($tmp[0])] = trim($tmp[1]); |
} |
} |
45,37 → 56,52 |
$Language = strtolower(substr(chop($Langue[0]), 0, 2)); |
} |
if ($Language === 'fr') { |
$l_mail_title = "Authentification externe : Adresse mail"; |
$l_mail_auth_enable_label = "Activer l'authentification par mail :"; |
$l_mail_YES = "OUI"; |
$l_mail_NO = "NON"; |
$l_mail_title = "Inscription par Email"; |
$l_mail_registration = "Activer l'inscription par Email :"; |
$l_mail_choice = "Quel type de service mail utiliser ?"; |
$l_use_internal_server = "Utiliser le serveur interne"; |
$l_use_external_server = "Relayer vers un serveur externe"; |
$l_use_email_address = "Utiliser une adresse mail"; |
$l_email_address = "Adresse mail utilisée pour l'envoi de mail"; |
$l_email_password = "Mot de passe"; |
$l_email_password_confirm = "Confirmez le mot de passe"; |
$l_mail_service = "Choisissez le service de messagerie"; |
$l_mail_YES = "OUI"; |
$l_mail_NO = "NON"; |
$l_mail_submit = "Enregistrer"; |
} else { |
$l_mail_title = "External authentication : Address mail"; |
$l_mail_auth_enable_label = "Enable email authentication :"; |
$l_mail_YES = "YES"; |
$l_mail_NO = "NO"; |
$l_mail_title = "Registration by Email"; |
$l_mail_registration = "Enable registration by Email :"; |
$l_mail_choice = "What type of mail service use ?"; |
$l_internal_server = "Use the internal server"; |
$l_external_server = "Relay to an external server"; |
$l_email_address = "Use an email address"; |
$l_email_address = "Email address used for sending mail"; |
$l_email_password = "Password"; |
$l_email_password_confirm = "Confirm password"; |
$l_mail_service = "Choose the mail service"; |
$l_mail_YES = "YES"; |
$l_mail_NO = "NO"; |
$l_mail_submit = "Save"; |
} |
|
// Mail configuration params |
$mail_status = $conf['MAIL']; |
$mail_type = $conf['TYPE_MAIL']; |
$mail_address_mail = $conf['mailAddr']; |
$mail_smtp = $conf['smtp']; |
$mail_port = $conf['port']; |
$mail_address_ip = $conf['mailIP']; |
$mail_status = $mail_conf['MAIL']; |
$mail_type = $mail_conf['MAIL_TYPE']; |
$mail_address_mail = $mail_conf['MAIL_ADDR']; |
$mail_smtp = $mail_conf['MAIL_SMTP']; |
$mail_port = $mail_conf['MAIL_PORT']; |
$mail_address_ip = $mail_conf['MAIL_SMTP_IP']; |
$mail_server = ""; |
$mail_password_mail = ""; |
$mail_password_mail_2 = ""; |
$admin_address = $conf['adminMail']; |
$mail_whitelist = $conf['whiteDomain']; |
$admin_address = $mail_conf['MAIL_ADMIN']; |
$mail_whitelist = $mail_conf['MAIL_WHITEDOMAIN']; |
|
|
if(isset($_POST['submit'])){ |
if($_POST['auth_enable'] === '1') |
if($_POST['auth_enable'] === 'on') |
{ |
exec("systemctl start postfix"); |
|
$mail_status = $_POST['auth_enable']; |
// exec("systemctl start postfix"); |
$mail_type = $_POST['mail_type']; |
$mail_address = $_POST['mail_address']; |
$mail_ip = $_POST['mail_ip']; |
85,12 → 111,6 |
$admin_enable = $_POST['admin_enable']; |
$admin_address = $_POST['admin_address']; |
$mail_whitelist = $_POST['mail_whitelist']; |
|
// exec("cp /var/www/mail/header.php /var/www/html"); |
// exec("cp /var/www/mail/inscription.php /var/www/html"); |
// exec("cp /var/www/mail/inscription_traitement.php /var/www/html"); |
// exec("cp /var/www/html/acc/admin/services.php /var/www/html/acc/admin/services.php.origin"); |
// exec("cp /var/www/mail/services.php /var/www/html/acc/admin"); |
|
if ($mail_mdp == $mail_mdp2) { |
switch ($mail_server) { |
130,41 → 150,41 |
echo "Erreur dans la saisie !"; |
break; |
} |
file_put_contents(CONF_FILE, str_replace('MAIL='.$conf['MAIL'],'MAIL='.$mail_status,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('TYPE_MAIL='.$conf['TYPE_MAIL'],'TYPE_MAIL='.$mail_type,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('mailAddr='.$conf['mailAddr'],'mailAddr='.$mail_address,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('mailIP='.$conf['mailIP'],'mailIP='.$mail_ip,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('smtp='.$conf['smtp'],'smtp='.$mail_smtp,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('port='.$conf['port'],'port='.$mail_port,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('whiteDomain='.$conf['mail_whitelist'],'whiteDomain='.$mail_whitelist,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL='.$mail_conf['MAIL'],'MAIL=on',file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_TYPE='.$mail_conf['MAIL_TYPE'],'MAIL_TYPE='.$mail_type,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_ADDR='.$mail_conf['MAIL_ADDR'],'MAIL_ADDR='.$mail_address,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_SMTP_IP='.$mail_conf['MAIL_SMTP_IP'],'MAIL_SMTP_IP='.$mail_ip,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_SMTP='.$mail_conf['MAIL_SMTP'],'MAIL_SMTP='.$mail_smtp,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_PORT='.$mail_conf['MAIL_PORT'],'MAIL_PORT='.$mail_port,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_WHITEDOMAIN='.$mail_conf['MAIL_WHITEDOMAIN'],'MAIL_WHITEDOMAIN='.$mail_whitelist,file_get_contents(CONF_FILE))); |
if (isset($admin_address)) { |
file_put_contents(CONF_FILE, str_replace('adminMail='.$conf['admin_address'],'adminMail='.$admin_address,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('MAIL_ADMIN='.$mail_conf['MAIL_ADMIN'],'MAIL_ADMIN='.$admin_address,file_get_contents(CONF_FILE))); |
} |
switch ($mail_type) { |
case '1': |
$mail_port = 25; |
file_put_contents(CONF_FILE, str_replace('port='.$conf['port'],'port='.$mail_port,file_get_contents(CONF_FILE))); |
file_put_contents(CONF_FILE, str_replace('port='.$mail_conf['port'],'port='.$mail_port,file_get_contents(CONF_FILE))); |
if(isset($mail_admin)){ |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install-V2.sh -1 -a $admin_address -w $mail_whitelist"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install.sh -1 -a $admin_address -w $mail_whitelist"); |
} |
else { |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install-V2.sh -1 -w $mail_whitelist"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install.sh -1 -w $mail_whitelist"); |
} |
break; |
case '2': |
if(isset($mail_admin)){ |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install-V2.sh -2 -s $mail_smtp -p $mail_port -r $mail_ip -a $admin_address -w $mail_whitelist"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install.sh -2 -s $mail_smtp -p $mail_port -r $mail_ip -a $admin_address -w $mail_whitelist"); |
} |
else { |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install-V2.sh -2 -s $mail_smtp -p $mail_port -r $mail_ip -w $mail_whitelist"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install.sh -2 -s $mail_smtp -p $mail_port -r $mail_ip -w $mail_whitelist"); |
} |
break; |
case '3': |
if(isset($mail_admin)){ |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install-V2.sh -3 -s $mail_smtp -p $mail_port -m $mail_address -o $mail_mdp -a $admin_address -w $mail_whitelist"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install.sh -3 -s $mail_smtp -p $mail_port -m $mail_address -o $mail_mdp -a $admin_address -w $mail_whitelist"); |
} |
else { |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install-V2.sh -3 -s $mail_smtp -p $mail_port -m $mail_address -o $mail_mdp -w $mail_whitelist"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-mail-install.sh -3 -s $mail_smtp -p $mail_port -m $mail_address -o $mail_mdp -w $mail_whitelist"); |
} |
break; |
default: |
172,23 → 192,12 |
break; |
} |
} |
else { |
else { // password are not the same |
echo "Erreur"; |
} |
} |
else { |
exec("cp -f /etc/postfix/main.cf.origin /etc/postfix/main.cf"); |
exec("rm -rf /etc/postfix/sasl/"); |
exec("cp -f /var/www/mail/alcasar-mail.conf /usr/local/etc/"); |
exec("systemctl restart postfix"); |
exec("systemctl stop postfix"); |
exec("sed -i '/SMTP_IP=/ s/^/#/g' /usr/local/etc/alcasar-iptables-local.sh"); |
exec("sed -i '/SMTP_PORT=/ s/^/#/g' /usr/local/etc/alcasar-iptables-local.sh"); |
exec("rm -f /var/www/html/header.php"); |
exec("rm -f /var/www/html/inscription.php"); |
exec("rm -f /var/www/html/inscription_traitement.php"); |
exec("cp -f /var/www/html/acc/admin/services.php.origin /var/www/html/acc/admin/services.php"); |
exec("sudo /usr/bin/bash /usr/local/bin/alcasar-iptables.sh"); |
else { // switch email registation off |
exec("/usr/local/bin/alcasar-mail-install.sh -0"); |
} |
header("Refresh:0"); |
exit; |
210,7 → 219,7 |
var formSubmit = document.querySelector('form input[type="submit"]'); |
var btn_checkConf = document.getElementById('btn-checkconf'); |
var isChecked = false; |
if (document.getElementById('auth_enable').value === '1') { |
if (document.getElementById('auth_enable').value === 'on') { |
for (var i=0; i<listToDisables1.length; i++) { |
document.getElementById(listToDisables1[i]).style.backgroundColor = '#c0c0c0'; |
document.getElementById(listToDisables1[i]).disabled = true; |
225,7 → 234,7 |
} |
document.getElementById('mail_type').style.backgroundColor = null; |
document.getElementById('mail_type').disabled = false; |
if (document.getElementById('mail_type').value === '1') { |
if (document.getElementById('mail_type').value === 'on') { |
for (var i=0; i<listToDisables1.length; i++) { |
document.getElementById(listToDisables1[i]).style.backgroundColor = null; |
document.getElementById(listToDisables1[i]).disabled = false; |
278,7 → 287,7 |
</head> |
<body onLoad="onMailStatusChange();"> |
<div class="panel"> |
<div class="panel-header"><?= "Authentication Mail" ?></div> |
<div class="panel-header"><?= $l_mail_title ?></div> |
<div class="panel-body"> |
<form id="form-config_mail" name="config_mail" method="POST" action="<?= htmlspecialchars($_SERVER['PHP_SELF']) ?>" enctype="multipart/form-data"> |
<fieldset> |
289,32 → 298,30 |
</legend> |
<dl> |
<dt> |
<label for="auth_enable"><?= "Activer l'authentification par mail :" ?></label> |
<label for="auth_enable"><?= $l_mail_registration ?></label> |
</dt> |
<dd> |
<select id="auth_enable" name="auth_enable" onchange="onMailStatusChange();"> |
<option value="1"<?= ($mail_status) ? ' selected="selected"' : '' ?>><?= $l_mail_YES ?></option> |
<option value="0"<?= (!$mail_status) ? ' selected="selected"' : '' ?>><?= $l_mail_NO ?></option> |
<option value="on"<?= ($mail_status == 'on') ? ' selected="selected"' : '' ?>><?= $l_mail_YES ?></option> |
<option value="off"<?= ($mail_status == 'off') ? ' selected="selected"' : '' ?>><?= $l_mail_NO ?></option> |
</select> |
</dd> |
</dl> |
<dl> |
<dt> |
<label for="mail_type"><?= "Type Messagerie" ?></label><br> |
<?= "Choississez le type de messagerie a utiliser" ?><br> |
<label for="mail_type"><?= $l_mail_choice ?></label><br> |
</dt> |
<dd> |
<select id="mail_type" name="mail_type" onchange="onMailStatusChange();"> |
<option value=1>Nom de domaine</option> |
<option value=2>Serveur mail ou serveur SMTP</option> |
<option value=3>Adresse de messagerie</option> |
<option value=1><?= $l_use_internal_server ?></option> |
<option value=2><?= $l_use_external_server ?></option> |
<option value=3><?= $l_use_email_address ?></option> |
</select> |
</dd> |
</dl> |
<dl> |
<dt> |
<label for="mail_address"><?= "Adresse Messagerie"?></label><br> |
<?= "Adresse de messagerie utilisé pour l'envoi" ?> |
<label for="mail_address"><?= $l_email_address ?></label><br> |
</dt> |
<dd> |
<input type="text" id="mail_address" size="40" name="mail_address" value="<?= $mail_address_mail ?>" oninput="onMailStatusChange();"> |
322,8 → 329,7 |
</dl> |
<dl> |
<dt> |
<label for="mail_mdp"><?= "Mot de passe Messagerie"?></label><br> |
<?= "Mot de passe de la messagerie utilisé pour l'envoi" ?> |
<label for="mail_mdp"><?= $l_email_password ?></label><br> |
</dt> |
<dd> |
<input type="text" id="mail_mdp" size="40" name="mail_mdp" value="<?= $mail_password_mail ?>" oninput="onMailStatusChange();"> |
331,8 → 337,7 |
</dl> |
<dl> |
<dt> |
<label for="mail_mdp2"><?= "Confirmer Mot de passe Messagerie"?></label><br> |
<?= "Confirmer le mot de passe de la messagerie utilisé pour l'envoi" ?> |
<label for="mail_mdp2"><?= $l_email_password_confirm ?></label><br> |
</dt> |
<dd> |
<input type="text" id="mail_mdp2" size="40" name="mail_mdp2" value="<?= $mail_password_mail_2 ?>" oninput="onMailStatusChange();"> |
340,8 → 345,7 |
</dl> |
<dl> |
<dt> |
<label for="mail_server"><?= "CHoix Serveur SMTP" ?></label><br> |
<?= "Choissisiez le serveur SMTP correspondant à l'adress de messagerie" ?><br> |
<label for="mail_server"><?= $l_mail_service ?></label><br> |
</dt> |
<dd> |
<select id="mail_server" name="mail_server" onchange="onMailStatusChange();"> |
396,7 → 400,6 |
</dd> |
</dl> |
<p> |
<!--<button id="btn-checkconf" onclick="checkConfig(); return false;"><?= $l_check ?></button>--> |
<input id="submit" type="submit" value="<?= $l_mail_submit ?>" name="submit"> |
</p> |
</fieldset> |