Add a MailNotify class with usage of Twig
This commit is contained in:
parent
2a29d73ae9
commit
20e32c4149
|
@ -95,8 +95,7 @@ class LdapDomain extends LdapServer {
|
|||
$error = ldap_error($this->conn);
|
||||
throw new Exception("Erreur dans l'ajout du compte : $error");
|
||||
}
|
||||
mail($mail, 'Premier message',"Mail d'initialisation du compte.");
|
||||
//mailnotify($info,$this->getname(),$password);
|
||||
MailNotify::addAccount($this->domain, $mail, $name, $password);
|
||||
}
|
||||
|
||||
public function addAlias($name,$active=false,$mailaccept=array(),$maildrop=array()) {
|
||||
|
|
|
@ -117,7 +117,7 @@ class LdapServer {
|
|||
throw new Exception("Erreur dans l'ajout du domaine : $error");
|
||||
}
|
||||
Logger::info('domain '.$name.' added', $this->login);
|
||||
//domainnotify($name);
|
||||
MailNotify::addDomain($name);
|
||||
}
|
||||
|
||||
public function delDomain($name) {
|
||||
|
|
34
htdocs/lib/class.mailnotify.php
Normal file
34
htdocs/lib/class.mailnotify.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
class MailNotify {
|
||||
private static $twig, $adminmail;
|
||||
|
||||
public static function configure($config) {
|
||||
$loader = new Twig_Loader_Filesystem('tpl/mail');
|
||||
self::$twig = new Twig_Environment($loader, array(
|
||||
'cache' => false
|
||||
));
|
||||
|
||||
self::$adminmail = !empty($config['mail']) ? $config['mail'] : 'root@localhost';
|
||||
}
|
||||
|
||||
public static function addDomain($domain) {
|
||||
$headers = "From: ".self::$adminmail;
|
||||
|
||||
# Notification mail to admin mail
|
||||
$mail_notif = self::$twig->render('domain/add_notif.txt.twig', array('domain' => $domain));
|
||||
mail(self::$adminmail, 'Création du domaine '.$domain, $mail_notif, $headers);
|
||||
}
|
||||
|
||||
public static function addAccount($domain, $mail, $name, $password) {
|
||||
$headers = "From: ".self::$adminmail;
|
||||
|
||||
# Welcome mail for account initialization
|
||||
$mail_init = self::$twig->render('account/init.txt.twig', array('mail' => $mail, 'name' => $name));
|
||||
mail($mail, 'Bienvenue !', $mail_init, $headers);
|
||||
|
||||
# Notification mail to admin mail
|
||||
$mail_notif = self::$twig->render('account/add_notif.txt.twig', array('mail' => $mail, 'name' => $name, 'password' => $password));
|
||||
mail(self::$adminmail, 'Création du compte '.$mail, $mail_notif, $headers);
|
||||
}
|
||||
}
|
|
@ -4,9 +4,14 @@ define("VERSION", "2.0.0");
|
|||
|
||||
spl_autoload_register(function ($class) {
|
||||
$class = strtolower($class);
|
||||
include_once("lib/class.$class.php");
|
||||
if (file_exists("lib/class.$class.php")) {
|
||||
require_once("lib/class.$class.php");
|
||||
}
|
||||
});
|
||||
|
||||
require_once 'Twig/autoload.php';
|
||||
|
||||
$config = parse_ini_file('../config/config.ini', true);
|
||||
|
||||
Logger::configure($config['log']);
|
||||
MailNotify::configure($config['global']);
|
||||
|
|
11
htdocs/tpl/mail/account/add_notif.txt.twig
Normal file
11
htdocs/tpl/mail/account/add_notif.txt.twig
Normal file
|
@ -0,0 +1,11 @@
|
|||
{# Notification mail send to global config mail address #}
|
||||
Bonjour,
|
||||
|
||||
Le compte mail "{{ name | escape }}" vient d'être créé.
|
||||
|
||||
Identifiant : {{ mail | escape }}
|
||||
Mot de passe : {{ password | escape }}
|
||||
|
||||
Cordialement,
|
||||
--
|
||||
L'équipe informatique
|
4
htdocs/tpl/mail/account/init.txt.twig
Normal file
4
htdocs/tpl/mail/account/init.txt.twig
Normal file
|
@ -0,0 +1,4 @@
|
|||
{# Welcome mail send for account initialization #}
|
||||
Bienvenue {{ name | escape }},
|
||||
|
||||
Votre adresse {{ mail | escape }} est maintenant activé.
|
10
htdocs/tpl/mail/domain/add_notif.txt.twig
Normal file
10
htdocs/tpl/mail/domain/add_notif.txt.twig
Normal file
|
@ -0,0 +1,10 @@
|
|||
{# Notification mail send to global config mail address #}
|
||||
Bonjour,
|
||||
|
||||
Un nouveau domaine vient d'être créé : {{ domain | escape }}
|
||||
|
||||
Assurez vous que la configuration DNS et MX soit bien en place.
|
||||
|
||||
Cordialement,
|
||||
--
|
||||
L'équipe informatique
|
Loading…
Reference in a new issue