Author Topic: verif mail en php  (Read 1192 times)

Offline gloupy

  • Revendeurs
  • Hero Member
  • ******
  • Posts: 626
  • Karma: 24
    • View Profile
verif mail en php
« on: Mai 13, 2005, 09:11:49 pm »
Bonjour,

j'utilise la fonction suivante pour vérifier la validité d'une adresse email

Code: [Select]

<?php
function verifie_email&#40;$id,$email&#41;
&#123;
$email strtolower&#40;$email&#41;;
if &#40;strlen&#40;$email&#41; < 6&#41;
&#123;
echo "$id-$email &#58; Email trop court<br>";$ok=0;
&#125;
if &#40;strlen&#40;$email&#41; > 255&#41;
&#123;
echo "$id-$email &#58; Email trop long<br>";$ok=0;
&#125;
if &#40;!ereg&#40;"@", $email&#41;&#41;
&#123;
echo "$id-$email &#58; Le email n'a pas d'arobase&#40;@&#41;<br>";$ok=0;
&#125;
if &#40;preg_match_all&#40;"/&#40;[^a-zA-Z0-9_\@\.\-&#93;&#41;/i", $email, $trouve&#41;&#41;
&#123;
echo "$id-$email &#58; caractère&#40;s&#41; interdit dans un email&#40;".implode&#40;", ", $trouve[0&#93;&#41;."&#41;.<br>";$ok=0;
&#125;
if &#40;!preg_match&#40;"/^&#40;[a-z0-9_&#93;|\\-|\\.&#41;+@&#40;&#40;[a-z0-9_&#93;|\\-&#41;+\\.&#41;+[a-z&#93;&#123;2,4&#125;\$/i", $email&#41;&#41;
&#123;
echo "$id-$email &#58; ce n'est pas un la forme d'un email.<br>";$ok=0;
&#125;
list&#40;$compte, $domaine&#41;=split&#40;"@", $email, 2&#41;;
if &#40;!checkdnsrr&#40;$domaine, "MX"&#41;&#41;
&#123;
echo "$id-$email &#58; Ce domaine &#40;$domaine&#41; n'accepte pas les emails<br>";$ok=0;
&#125;
echo "$id-$email &#58; Valide !<br>";$ok=1;
&
#125;
include&#40;"conf.php"&#41;;
@mysql_connect&#40;$host, $user, $pass&#41; or die&#40;"Impossible de se connecter à la base de données"&#41;;
@mysql_select_db&#40;$bdd&#41; or die&#40;"Impossible de se connecter à la base de données"&#41;;
$sql "SELECT id,email FROM table where valide=0";
$req mysql_query&#40;$sql&#41; or die&#40;'Erreur SQL !<br>'.$sql.'<br>'.mysql_error&#40;&#41;&#41;;
$i=0;
while&
#40;$data = mysql_fetch_assoc&#40;$req&#41;&#41;
&#123;
// on affiche les informations de l'enregistrement en cours
    
$email=$data['email'&#93;;
$id=$data['id'&#93;;
verifie_email&#40;$id,$email&#41;;

&
#125;
echo "Terminé";
mysql_close&#40;&#41;;
?>


puis ce code là pour envoyer un email de confirmation d'inscription
Code: [Select]

mail($email,"le sujet","blabla","FROM : toto@mondomaine.com");



la fonction pour verifier la validité syntaxique et serveur des emails fonctionnent très bien.
mais car il y a toujours un mais il y a toujours des crétins pour ne pas dire autrement qui m'inventent des adresses du style duconlajoie@aol.com. J'ai aussi lajoieducon c'est surement son cousin.

Comment coder dans le mail() du php pour recevoir les notifications des mailers du style "adresse inexistance", J'ai essayé en utilisant ce bout de code

Code: [Select]

mail("$to", "$subject", "$message", "From: $from\nX-Mailer: PHP/ . $phpversion()", "-f $from");
mais a priori c'est desactivé en safe mode

Merci d'avance pour votre aide.
David

Grummfy

  • Guest
verif mail en php
« Reply #1 on: Mai 13, 2005, 09:43:28 pm »
regarde de ce coté : http://phpcodeur.net/articles/php/emails
c'est le tuto le plsu explicite et complet ( en français) pour les mail...
en gros si tu veux une adresse de retour en cas d'erreur essaye de mettre
Code: [Select]
mail("$to", "$subject", "$message", "From: $from\nReturn-Path: $from");

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6048
  • Karma: 50
    • View Profile
    • EdelweissHosting
verif mail en php
« Reply #2 on: Mai 13, 2005, 09:46:42 pm »
Si vous voulez le safe mode off, juste envoyez un email et on le fait.
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline gloupy

  • Revendeurs
  • Hero Member
  • ******
  • Posts: 626
  • Karma: 24
    • View Profile
verif mail en php
« Reply #3 on: Mai 13, 2005, 09:48:59 pm »
Merci, je vais essayer la solution de grumffy avant de penser à changer de mode. Sacré duconlajoie, quel deconneur celui là je vous jure  :roll:

Offline staff

  • Tech. EdelweissHosting
  • Administrator
  • Hero Member
  • *****
  • Posts: 6048
  • Karma: 50
    • View Profile
    • EdelweissHosting
verif mail en php
« Reply #4 on: Mai 13, 2005, 10:29:06 pm »
Nous on a souvent toto@aol.com
Membre Staff EdelweissHosting
Site Principal: http://edelweisshosting.com
Votre IP: http://edelweisshosting.com/ip.php

Offline gloupy

  • Revendeurs
  • Hero Member
  • ******
  • Posts: 626
  • Karma: 24
    • View Profile
verif mail en php
« Reply #5 on: Mai 13, 2005, 10:37:03 pm »
Re, j'ai essayé la solution de grummfy

Code: [Select]

<?
$from="petition@avignon-dtm.sportmecanique.com";
mail("$to", "test", "blabla", "From: $from\nReturn-Path: $from");
echo "mail envoyé à $to";
?>


j'ai envoyé un mail à une adresse $to existante qui est bien arrivé.

Puis un mail à $to=jaipasdadresseemail@sportmecanique.com (celle là n'existe pas, je n'ai pas configuré le catch all sur ce domaine). J'aurais donc du recevoir un email m'informant que cette adresse n'existait pas mais rien.
Alors question : est ce long pour recevoir par mail ce genre d'info ou est ce que la solution de grummfy ne fonctionne pas ??

Merci

ps : pfff si toto@aol.com achete tout les serveurs du monde, on peut dire adieu à la pluralité de l'information sur internet :P

Grummfy

  • Guest
verif mail en php
« Reply #6 on: Mai 14, 2005, 12:21:10 am »
il faut aussi se rappeler que cela ne fonctionne que si l'utilisateur n'as pas fait un truc genre catch all mais qui attrape tout les destinataire non existant mais sans le rendre, le suprimant simpement ...

et puis tu es sur que l'adresse email n'existe pas?
je sais que test@msn.com elle n'existe pas ....

Offline gloupy

  • Revendeurs
  • Hero Member
  • ******
  • Posts: 626
  • Karma: 24
    • View Profile
verif mail en php
« Reply #7 on: Mai 14, 2005, 12:50:01 am »
j'ai testé avec une adresse de mon domaine qui n'existe pas sans catch all et  je n'ai pas eu de retour. Je teste avec test @msn.com

Merci

Offline gloupy

  • Revendeurs
  • Hero Member
  • ******
  • Posts: 626
  • Karma: 24
    • View Profile
verif mail en php
« Reply #8 on: Mai 14, 2005, 03:36:43 pm »
Bon je n'ai eu aucun retour d'adresses non conforme alors qu'elles le sont.