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() rate, mais pourquoi?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Points : 77
    Points
    77
    Par défaut fonction mail() rate, mais pourquoi?
    Bonjour,

    Je viens vers vous car j'ai un problème assez stressant
    J'ai un serveur chez OVH et depuis ce serveur, je fais un envoi de mail.
    Lorsque le mail est un simple texte, pas de soucis, mais lorsqu'il s'agit d'un mail HTML, ça ne fonctionne plus du tout.
    La fonction mail n'arrive pas à finaliser l'envoi, mais je n'ai aucune indication du pourquoi.
    J'ai mis en place le bout de code permettant d'afficher les erreurs dans l'exécution d'un code php, et cela m'a permis de corriger pas mal de chose, mais aujourd'hui, je suis dans une impasse car ce même code semble fonctionner quand je le teste sur ma machine locale.

    Existe-t-il un moyen de savoir à quel endroit, précisément, j'ai commis une bourde? Car au point ou j'en suis... beh en fait, je ne sais plus vraiment ou j'en suis et c'est pour ça que je vous demande de l'aide...

  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
    Pourquoi dis-tu "n'arrive pas a finaliser l'envoi" ?
    As-tu d'autres indications que le seul fait de ne pas recevoir le mail ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Points : 77
    Points
    77
    Par défaut
    Le seul truc que je vois, c'est que le if (mail(...)) rate à tout les coups.
    Je voudrais juste savoir POURQUOI

    Seulement, j'ai beau regarder mon mail dans tous les sens, je ne vois rien
    Est ce que cela peut venir du fait que je n'utilise que des \r\n?
    Faut-il tout remplacer par des \n uniquement?

    Je suis perdu là

  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
    Assure toi de bien afficher toutes les erreurs, si mail echoue, elle envoit un Warning.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Points : 77
    Points
    77
    Par défaut
    Elle envoie un warning?
    Bon, c'est déjà une bonne nouvelle...
    Mais comment fait pour récupérer ce warning?
    Parce que je suppose qu'un echo mail(...); ne donnera rien de plus qu'un booléen.

    J'utilise ce code pour afficher les erreurs, et il m'a déjà permis de me rendre compte de certaines énormités de mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ini_set('display_errors', 1);
    ini_set('log_errors', 1);
    ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
    error_reporting(E_ALL);
    Mais depuis, je ne vois plus.

    Cette nuit, une question m'est venu:
    Est ce que le problème pourrait venir du fait que l'entête de mon mail l'annonce comme étant un multipart, alors que je n'ai que la partie HTML à l'intérieur?

    Dernière chose.
    Je me demande aussi si mon Boundary est correct... D'autant plus que j'ai une pièce jointe... Y a-t-il un endroit ou je peux savoir, de façon sûr, comment organiser les boudary et où les insérer?
    Parce que j'ai visité beaucoup de site mais peu sont d'accord la dessus

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 177
    Points : 77
    Points
    77
    Par défaut
    CA Y EST!!!
    J'ai fini par trouver!

    Tout d'abord, merci à toi sabotage car tu m'as légèrement aiguillé, mais ça a suffit.
    Le problème était tout bête, mais donc très difficile à localiser : les serveurs OVH n'aiment pas le \r\n. Il faut utiliser des \n simples.
    Dès que j'ai eu changé tout mes \r\n en \n, le mail est parti et la pièce jointe aussi.

    Merci beaucoup!

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

Discussions similaires

  1. [PHP 5.0] Fonction mail marche avec hotmail et yahoo mais pas avec gmail
    Par unix27 dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2010, 12h21
  2. [Mail] Fonction mail: mail reçu mais illisible.
    Par yann123456 dans le forum Langage
    Réponses: 11
    Dernier message: 30/07/2009, 09h12
  3. Réponses: 5
    Dernier message: 16/02/2009, 09h23
  4. Réponses: 2
    Dernier message: 08/04/2008, 16h29
  5. [Mail] mais où est donc la fonction mail ?
    Par dimitryous dans le forum Langage
    Réponses: 1
    Dernier message: 23/05/2007, 14h02

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