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 :

Fonction MAIL PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut Fonction MAIL PHP
    Bonjour. J'ai un gros problème avec la fonction mail().
    Impossible d'envoyer l'email. Retourne false.
    J'ai cherché partout pendant des jours.
    Je suis désespéré.
    J'ai essayé avec ce code, il n'y a pas plus simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    ini_set('SMTP', 'smtp.orange.fr'); // j'ai aussi essayé avec smtp.live.com
    // j'ai aussi essayé avec ça en plus: ini_set('smtp_port','25');
    $msg = 'Test'; 
    $mail = 'monadresse@hotmail.fr'; 
    $sujet = 'GOOD'; 
    mail($mail, $sujet, $msg); 
    ?>
    Merci d'avance si quelqu'un peut m'éclairer ne serais-ce q'un peu afin d'en finir avec ce problème qui me pourri la vie.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La fonction mail renvoit un warning quand il y a une erreur.
    Ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    au début de ton code.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Bonjour. J'ai déjà essayé et je viens en plus de réessayer.
    Je n'ai qu'une page blanche et aucun mail dans ma boîte de réception.
    C'est désespérant.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    si tu mets un echo après la mail(), tu le vois ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Non, toujours une page blanche.

    Voici la page de test:

    http://tinei.byethost12.com/test.php


    Peut-être que ça ne marche pas que chez moi


    EDIT: J'ai rajouté une condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(mail($mail, $sujet, $msg))
    {
    	echo 'mail envoy&eacute;';
    } else {
    	echo 'erreur';
    }

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    J'ai erreur aussi apres un assez long moment.

    L"'assez long moment" laisse penser que le SMTP n'est pas joignable (tu as surement un timeout).

    Donc pour commencer par le commencement, es-tu sur qu'il n'y a pas un firewall sur ton serveur qui bloquerait les connexion sortante ?

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    pour afficher le message d'erreur à l’écran faudrait ajouter ceci ini_set('display_errors', 1) juste après error_reporting et le tout en début de page:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php 
    error_reporting(E_ALL);
    ini_set('display_errors', 1); //à désactiver en production
     
    ?>

  8. #8
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Ça ne change rien.

    comode, serais-ce l'hébergeur qui pose problème ?
    Cependant, j'utilise cet hébergeur pour tester le site en condition réelle, donc je mettrai mon site sur un autre hébergeur et payant. Mais comment savoir si celui-ci sera compatible ? Et si il n'est pas ? C'est embêtant.

  9. #9
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Citation Envoyé par Tinei Voir le message
    Serais-ce l'hébergeur qui pose problème ?
    C'est très probable, surtout si c'est un hébergeur gratuit.

    Citation Envoyé par Tinei Voir le message
    Cependant, j'utilise cet hébergeur pour tester le site en condition réelle, donc je mettrai mon site sur un autre hébergeur et payant. Mais comment savoir si celui-ci sera compatible ? Et si il n'est pas ? C'est embêtant.
    Facile, il suffit qu'il supporte les même technologies (PHP et MySQL) et que ça soit la même version ou une version plus récente (tu peux avoir tous les paramètres en faisant une page web qui contient juste <?php phpinfo(); ?>).

  10. #10
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    D'ailleurs, si c'est un hébergeur gratuit bas de gamme, il y a 99% de chance que le ini_set n'ai aucun effet, ni sur le paramétrage de la fonction mail, ni sur le paramétrage de l'affichage des erreurs !

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ailleurs pourquoi utiliser le SMTP d'Orange depuis ton hebergeur ?

  12. #12
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Ini_set fonctionne: j'ai déjà testé phpinfo().

    Pour le SMTP, de toute façon, avec celui de hotmail ça ne change rien.
    Mais pour limiter les problèmes, j'ai remis celui d'hotmail.

  13. #13
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    chez un hébergeur gratuit ou chez certains hébergements mutualisés faut pas s'attendre à modifier la config d'apache.

    Dans ton cas il est plus simple d'utiliser une lib comme PHPMailer qui te permet entre autre d'envoyer un mail via smtp.cete lib te permettra aussi d'envoyer des mails en localhost sans config particulière du smtp.

    Tu trouveras, un exemple d’envoi d'email ici:
    https://github.com/PHPMailer/PHPMailer

  14. #14
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Citation Envoyé par armel18 Voir le message
    Dans ton cas il est plus simple d'utiliser une lib comme PHPMailer qui te permet entre autre d'envoyer un mail via smtp.
    a condition qu'il n'y ai pas un firewall qui bloque tous les accès sortant, ce qui n'est pour le moment pas un fait établi !

  15. #15
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Juin 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut
    Je crois que mon hébergeur bloque tout sauf pour les hébergement payants.
    J'ai trouvé ça dans le panel:

    Get more out of e-mail with our Premium Hosting plans featuring POP, IMAP, SMTP and much more including the industry leading Cpanel X
    L'hébergeur payant que je compte prendre prochainement est celui-ci:
    http://www.hosteur.com/hebergement-sites-internet/

    Pensez vous que les hébergeurs payants en général débloquent ça ?
    C'est important ! Cet envoi d'email servira à confirmer l'inscription des membres de mon site !

  16. #16
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    Je crois que mon hébergeur bloque tout sauf pour les hébergement payants.
    autant travailler en local puis penser à migrer ton application vers un hébergeur payant.

    Pensez vous que les hébergeurs payants en général débloquent ça ?
    presque tous les hébergeurs(enfin les plus sérieux) ont un serveur smtp déjà configuré qui permet d'envoyer un email de façon basique avec la fonction mail de php. Et beaucoup d'hébergeurs supportent les protocoles smtp, https, ldap...rares sont les payants qui bloquent smtp car vu la concurrence qui règne ils n'ont pas trop de choix

    Pour savoir les protocoles supportés, tu peux consulter la page phpinfo() de l'hébergeur.

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

Discussions similaires

  1. Fonction mail() php ne fonctionne pas
    Par silverspike dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 18/12/2007, 10h11
  2. [FLASH MX] Problème flash et fonction mail() php
    Par proutcore dans le forum Flash
    Réponses: 7
    Dernier message: 21/05/2007, 12h21
  3. [Mail] Fonction Mail - Php Mysql
    Par pod1978 dans le forum Langage
    Réponses: 1
    Dernier message: 06/10/2006, 14h51
  4. Sendmail et fonction mail php !!
    Par Mike91 dans le forum Apache
    Réponses: 1
    Dernier message: 18/06/2006, 14h41
  5. [Mail] Fonction mail php-bdd
    Par pod1978 dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 17h54

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