IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

mail() envoyé mais pas de réception


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut mail() envoyé mais pas de réception
    Bonjour,
    J'ai un site hébergé par ovh (un 60gp pour ceux qui connaissent). J'ai un site où à l'inscription je voudrais envoyer un mail de confirmation lors de l'inscription de nouveaux membres.
    Donc voici le code, dans un try...catch et après les insert SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    // envoi du mail de validation de l'inscription
    $mail_envoye=false;
    $source=_MAIL_COMM;
    $dest=((isset($_POST['email']))?$_POST['email']:"");
    $headers = "MIME-Version: 1.0"."\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\n";
    $headers .= 'From: '._NOM_SITE.' <'.$source.'>';
    $sujet=_NOM_SITE.", confirmez votre inscription.";
    $message_mail="<HTML><BODY></br>
    "._NOM_SITE."</br>
    -------------</br></br>
    Voici les informations concernant votre compte:</br>
    -----------------------------------------------</br>
    Nom d'utilisateur: ".$_POST['login']." (identifiant)</br>
    Mot de passe: ".$_POST['password']."</br>
    -----------------------------------------------</br>
    Votre compte est actuellement inactif. Vous ne pourrez pas l'utiliser tant que vous n'aurez pas cliqué sur le lien suivant:</br>
    ".$lien_de_validation."</br></br>
    </br></br>".
    _NOM_SITE."</br>
    </BODY></HTML>";
    $mail_envoye=mail($dest,$sujet,$message_mail,$headers);
    if ($mail_envoye) {
    //definition de la page a recharger une fois le traitement SQL effectué
    // redirection
    exit;
    }
    else {
    // redirection
    exit;
    }
    Apparemment le mail devrait etre envoyé (mail() retourne true, enfin 1) et la redirection m'indique que l'envoi devrait être fait; mais ce n'est pas le cas.
    Je regarde sur le net les raisons possible:
    -j'ai donc remplacé "\r\n" par "\n" dans les headers: mais ce n'est pas ça;
    -j'ai essayé plusieurs adresses:
    expediteur free - destinataire wanadoo
    exp free - dest orange
    exp free - dest free
    exp free - dest neuf => mais pour l'instant rien n'est reçu, la mail semble avoir été envoyé mais dans les sent-mails des exp rien
    (je vais essayer de changer l'exp par une adresse de mon domaine...résultat à venir);
    -j'ai regardé mon php_infos() et pour mail() il me donne:
    sendmail_from me@localhost.com me@localhost.com
    sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
    serialize_precision 100 100
    short_open_tag On On
    SMTP localhost localhost
    smtp_port 25 25
    Je suis un peu perdu.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    pourquoi un try...catch y'a pas d'exception la dedans ?

  3. #3
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    oh, c'était pour les insert SQL, rien à voir avec mail().

    Alors, j'ai testé avec de nouveaux mails pris sur mon domaine:
    et si l'expediteur et le destinataire sont dans mon domaine par exemple (nom@mondomainedhebergement) cela fonctionne.
    les retour à la ligne sont pas bon mais c'est une autre histoire.


  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    essyae avec un autre adresse et regarde si c'est pas dans les indésirables

    ton : 'From: '._NOM_SITE.'

    est bien de même nom de domaine que ton serveur ?
    sinon t'as essaye avec un mail tout simple ?

  5. #5
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Alors, si l'expediteur est une adresse de mon domaine cela semble aller un peu mieux, puisque je peux recevoir les courriers à destination d'autres adresses de mon domaine (). exemple: expediteur = nom1@mondomaine.fr et destinataire = nom2@mondomaine.fr cela marche; mais expediteur = nom1@mondomaine.fr et destinataire = nom3@free.fr cela ne fonctionne pas (et j'ignore comment recuperer les indesirables sous free)
    Je ferais d'autres essais demain sur les adresses d'une part puis avec un mail plus simple; et je te tiens au courant.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par tigunn Voir le message
    Alors, si l'expediteur est une adresse de mon domaine cela semble aller un peu mieux, puisque je peux recevoir les courriers à destination d'autres adresses de mon domaine (). exemple: expediteur = nom1@mondomaine.fr et destinataire = nom2@mondomaine.fr cela marche; mais expediteur = nom1@mondomaine.fr et destinataire = nom3@free.fr cela ne fonctionne pas (et j'ignore comment récupérer les indésirables sous free)
    Je ferais d'autres essais demain sur les adresses d'une part puis avec un mail plus simple; et je te tiens au courant.

    c'est deja un pas, mais c'était plus dans le sans ou si ton domaine est domaine1.com mais le From est de truc@domaine2.com, souvant quand le l'expéditeur a le domaine diffèrent du serveur qui envoie y'a des risques de considération en tant que spam

  7. #7
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    ça n'a rien à voir mais j'avais jamais vu de balises BR comme ça
    pour $headers personnellement je préfère faire un tableau est faire un implode() du tableau, comme ça ton caractère de fin de ligne est moins embêtant.

    avec un plan90, j'utilise avec succès ses entêtes ci:
    To: blablabla@gmail.com
    Subject: blablabla
    MIME-Version: 1.0
    From: blablabla@blablabla.com
    Sender: blablabla@blablabla.com
    X-Sender: blablabla@blablabla.com
    Reply-To: blablabla@blablabla.com
    Content-Type: text/html; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    Content-transfer-Encoding: 8bit
    X-Priority: 3
    Priority: normal

  8. #8
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Merci pour votre aide à tout les deux!
    Si j'utilise mes headers (voir plus haut) les balises </br> ne sont pas interpretées; il faut les remplacer par <br/> (norme xhtml 1.1 ).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2008, 23h42
  2. [PEAR][Mail] Envoi mais pas de réception
    Par Papy_Guik dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/06/2008, 10h24
  3. Réponses: 1
    Dernier message: 29/10/2007, 13h56
  4. mail non envoyé mais pas d'erreur
    Par leam69 dans le forum Linux
    Réponses: 2
    Dernier message: 25/10/2007, 12h12
  5. [Mail] mail envoyé mais return false
    Par pverley dans le forum Langage
    Réponses: 5
    Dernier message: 03/10/2007, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo