1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/emailpoubelle_ynh.git synced 2024-09-03 18:26:29 +02:00

Vérification de l'adresse email par DNS

This commit is contained in:
David 2012-05-15 21:29:38 +02:00
parent 30e0a81999
commit 36c6a3e92c
2 changed files with 29 additions and 2 deletions

View file

@ -10,10 +10,13 @@
#error_reporting(0); #error_reporting(0);
error_reporting(E_ALL); error_reporting(E_ALL);
define('VERSION', '0.1 Beta1'); define('VERSION', '0.1.1');
define('DOMAIN', 'zici.fr'); define('DOMAIN', 'zici.fr');
// Serveur DNS pour la résolution/vérification du nom de domaine
define('NS1', 'ns1.fdn.org');
define('BIN_POSTMAP', '/usr/sbin/postmap'); define('BIN_POSTMAP', '/usr/sbin/postmap');
define('URLPAGE', 'http://zici.fr/emailPoubelle.html'); define('URLPAGE', 'http://zici.fr/emailPoubelle.html');

View file

@ -12,6 +12,22 @@
include_once('./conf.php'); include_once('./conf.php');
function VerifMXemail($email)
{
require_once 'Net/DNS.php';
$domaine=explode('@', $email);
$serveurDeNom=array(
NS1
);
$resolver = new Net_DNS_Resolver();
$resolver->nameservers=$serveurDeNom;
$response = $resolver->query($domaine[1],'MX');
if ($response) {
return true;
} else {
return false;
}
}
function UpdateVirtualDB() function UpdateVirtualDB()
{ {
echo exec(BIN_POSTMAP.' '.FICHIERALIAS,$output,$return); echo exec(BIN_POSTMAP.' '.FICHIERALIAS,$output,$return);
@ -52,6 +68,8 @@ if (isset($_REQUEST['Validemail'])) {
$email=strtolower($_REQUEST['email']); $email=strtolower($_REQUEST['email']);
if (! filter_var($email, FILTER_VALIDATE_EMAIL)) { if (! filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo '<div class="highlight-1">Erreur : Adresse email incorrect</div>'; echo '<div class="highlight-1">Erreur : Adresse email incorrect</div>';
} else if (! VerifMXemail($email)) {
echo '<div class="highlight-1">Erreur : Adresse email incorrect (2)</div>';
} else if (! preg_match('#^[\w.-]+$#',$alias)) { } else if (! preg_match('#^[\w.-]+$#',$alias)) {
echo '<div class="highlight-1">Erreur : email poubelle incorrect</div>'; echo '<div class="highlight-1">Erreur : email poubelle incorrect</div>';
} elseif (isset($_REQUEST['ajo'])) { } elseif (isset($_REQUEST['ajo'])) {
@ -124,6 +142,8 @@ if (isset($_REQUEST['Validemail'])) {
<p>Typiquement c'est un script à inclure dans une page entre les balises body</p> <p>Typiquement c'est un script à inclure dans une page entre les balises body</p>
<p>Le script a besoin de la lib pear <a href='http://pear.php.net/package/Net_DNS' target='_blank'>Net_DNS</a></p>
<p>Le script utilise les virtual_alias_maps de postfix. Connectez vous en root</p> <p>Le script utilise les virtual_alias_maps de postfix. Connectez vous en root</p>
<p style='background-color: #C8C8C8'>srv:~# vi /etc/postfix/main.cf <br /> <p style='background-color: #C8C8C8'>srv:~# vi /etc/postfix/main.cf <br />
[...]<br /> [...]<br />
@ -136,7 +156,11 @@ srv:~# chown www-data /www/emailPoubelle/postfix/virtual.db<br /></p>
<p>Assurez vous que l'exécutable /usr/sbin/postmap soit accessible par l'utilisateur www-data</p> <p>Assurez vous que l'exécutable /usr/sbin/postmap soit accessible par l'utilisateur www-data</p>
<h2>Changelog</h2> <h2>Changelog</h2>
<span>Version 0.1 Beta1</span> <span>Version 0.1.1</span>
<ul>
<li>Vérification de l'adresse email par DNS (existance d'un MX)</li>
</ul>
<span>Version 0.1</span>
<ul> <ul>
<li>Ajout/suppression d'un alias</li> <li>Ajout/suppression d'un alias</li>
<li>Vérification des adresses emails inconnus par confirmation email</li> <li>Vérification des adresses emails inconnus par confirmation email</li>