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] Fonction mail() a cessé de fonctionner


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut [Mail] Fonction mail() a cessé de fonctionner
    Bonjour,

    je sais que ce sujet est récurrent dans ce forum, mais mes recherches se sont quand même révélées infructueuses.

    Donc, depuis quelques jours les mails envoyés en PHP depuis mon site restent coincés: la fonction mail() retourne systématiquement FALSE et aucun message d'erreur n'apparait. Je précise que tout marchait nickel il y a encore 4 jours et que je ne pense pas avoir fait de modifs néfastes entre-temps.

    J'ai fait un petit script simplifié, pour voir, et lui aussi a le même problème :
    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
      ini_set('error_reporting', E_ALL);
      ini_set('display_errors', 1);
     
      $to      = 'xxx@free.fr';
      $subject = 'test';
      $message = 'Bonjour !';
      $headers = 'From: webmaster@xxx.com';
     
      if (mail($to, $subject, $message, $headers))
         echo "<p>Success !</p>";
      else
      {
         echo "<p>Echec...</p>";
         echo "<pre>"; print_r (error_get_last ()); echo "</pre>";
      }
    Pour être complet, il s'agit d'un hébergement mutualisé Strato.

    Il y a 2 choses qui interpellent mon moi-intérieur (peut-être des fausses pistes, mais sait-on jamais) :

    • le serveur de mail est configuré en "POP before SMTP" : ça pourrait être ça le problème, mais ça marchait il y a quelques jours, donc...
    • dans php.ini, j'ai un SMTP = 'localhost' (smtp_port et sendmail_path ont eux des valeurs standard) : ne devrait-ce pas être le nom du serveur en clair plutôt ?


    Voilà, je suis un peu paumé là et toute idée sera la bienvenue.

    Et si parmi vous certains sont chez Strato, dites-moi comment ça se passe en ce moment avec vos envois de mails...

    Merci d'avoir pris le temps de me lire.

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Ils ont peut-être désactivé la fonction ou ils ont un problème.
    As-tu demandé au support ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut
    Citation Envoyé par blueice Voir le message
    Ils ont peut-être désactivé la fonction ou ils ont un problème.
    As-tu demandé au support ?
    Oui bien sûr. Leur réponse (sic) :
    Pour de scripte programme par de client en peut malheureusement pas faire de support, merci pour votre compréhension.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut
    Bon, alors n'ayant pas trouvé de solution au problème tel qu'il se posait, je l'ai contourné en abandonnant la fonction mail() au profit d'envois par connexion smtp authentifiée (SMTP-AUTH), en passant directement par les sockets.

    Je ne sais pas si cette méthode est universellement valable, mais en tout cas ça a l'air de bien marcher avec le serveur de mail de mon hébergeur (ouf !)

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Bloquage fonction mail par le fai
    Bonjour,

    Il est possible que ton fournisseur d'accès bloque la fonction mail.

    Essaie de rajouter ces 2 lignes avant d'appeler la fonction mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Remplacer smtp.numericable.fr par celui de ton fournisseur 
    // d'accès spécifié dans ton php.ini !
    ini_set("SMTP","smtp.numericable.fr");
     
    // Remplacer adressemail@hotmail.com par 
    // celle spécifiée dans ton php.ini !
    ini_set("sendmail_from","adressemail@hotmail.com"); 
     
    // Appel de la fonction mail avec affichage de l'erreur en cas de souci
    mail($destinataire, $sujet, utf8_decode($mes), $entete) or die(mysql_error());
    J'espère que ça résoudra le problème !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/06/2009, 19h56
  2. Réponses: 3
    Dernier message: 19/03/2009, 19h21
  3. [Mail] fonction mail qui fonctionne pas
    Par digger dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2006, 22h28
  4. [Mail] Fonction mail() et pièce jointe
    Par allyson dans le forum Langage
    Réponses: 16
    Dernier message: 09/11/2005, 15h05
  5. Réponses: 5
    Dernier message: 29/10/2005, 16h44

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