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 :

Interception erreurs e-mails


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut Interception erreurs e-mails
    Bonjour.

    Je souhaite intercepter les erreurs de la fonction mail() pour que l'utilisateur ne les voie pas. J'ai donc pensé faire quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try {
    	if (! mail($Destinataire, $Sujet, $Message, $EnTetes))
    		ecrire_un_message_dans_les_logs
    } catch (Exception $Excep) {
    	// traitement de l'exception
    }
    Malheureusement ça n'a pas l'air de fonctionner car j'obtiens ça sur ma page Web :
    Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.mon_domaine.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in fnc_commun.php on line 46
    Quelqu'un pourraît-il m'expliquer pourquoi l'erreur n'est pas interceptée ? Je ne cherche pas ici à corriger l'erreur de configuration éventuelle (je pense savoir d'où ça vient), mais bien à comprendre pourquoi le plantage n'est pas intercepté. Je ne souhaite pas que le jour où le serveur mail n'est pas joignable pour X raison, l'utilisateur ait un message brut comme celui ci-dessus.

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    le bloc "try / catch" intercepte les exceptions et non les anciennes erreurs
    pour transformer les erreurs en exceptions je te conseilles d'utiliser ce code là :
    http://php.net/class.errorexception#...ption.examples

    en faisant ça tu pourras utiliser les exceptions dans tout ton code et les erreurs seront beaucoup plus simples à gérer

  3. #3
    Membre régulier Avatar de scrouet
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 280
    Points : 105
    Points
    105
    Par défaut
    C'est bon.
    Merci !

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

Discussions similaires

  1. [PHP 5.3] Interception erreurs et mail
    Par scrouet dans le forum Langage
    Réponses: 10
    Dernier message: 17/04/2012, 10h16
  2. [Mail] rapport d'erreur fonction mail()
    Par yanice dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2007, 15h31
  3. [Configuration] message d'erreur de mail
    Par arezki76 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 27/03/2007, 15h00
  4. [Exception PHP] Interception Erreur WebServices
    Par yokoPim dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2006, 15h46
  5. [Mail] récupérer les code erreurs de mail()
    Par Djakisback dans le forum Langage
    Réponses: 2
    Dernier message: 22/03/2006, 17h19

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