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] mail(): pas d'erreurs, mais les mails n'arrivent pas [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    910
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 910
    Points : 1 365
    Points
    1 365
    Par défaut [Mail] mail(): pas d'erreurs, mais les mails n'arrivent pas
    Bonjour,
    Je cherche à comprendre pourquoi les emails que j'envoie n'arrivent pas.
    Je suis chez OVH et j'utilise la fonction mail().
    Elle ne me retourne aucune erreur et pourtant les emails n'arrivent pas.
    J'ai vérifié avec phpinfo() et tout m'a l'air convenablement configuré (il y a un sendmail_path défini par exemple).
    L'adresse de destination est correcte....

    Voici mon petit bout de code:
    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
    // Si tout a bien été, on envoie l'email
    if(count($errors)==0){
    	try {
    		$res=@mail(EMAIL,$subject,$message,$headers);
    		if (!$res) $errors['other'][]='Failed to send mail for an unknown reason';
     
    		} 
    	catch (Exception $e) {
    	    $errors['other'][]=$e->getMessage();
    		}
    	}
     
    // Display any errors and exit if errors exist.
    if(count($errors)!=0){
    	include(FAILURE);
    	}
    else {
    	include(SUCCESS);
    	}
    Des idées, des pistes de ce que je devrais regarder ?
    Merci,

    Laurent

    [edit]PS: j'ai vérifié les logs des emails sur OVH et y a pas d'erreurs signalées.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    1. mail( ) ne lève pas d'exceptions, try/catch y est donc inutile
    2. @ est très gênant pour le débogage
    3. Que valent EMAIL, $subject, $message, $headers ?
    4. Un simple envoi de mail dans un script tout simple fonctionne correctement ou pas ?
    5. As-tu testé différents destinataires ? Peut-être que ton mail arrive dans le répertoire spam du destinataire actuel

  3. #3
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    910
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 910
    Points : 1 365
    Points
    1 365
    Par défaut
    Merci pour ta réponse
    1. mail( ) ne lève pas d'exceptions, try/catch y est donc inutile
    2. @ est très gênant pour le débogage
    J'ai ajouté ce code en début de script pour pouvoir intercepter de manière correcte les erreurs. Et ça marche, au moins en local où je n'ai pas de serveur smtp et où j'attrape correctement l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Toutes les fonctions n'implémentant pas nativement les erreurs, les implémenteront maintenant
    function exception_error_handler($errno, $errstr, $errfile, $errline ) {
     throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
    }
    set_error_handler("exception_error_handler");
    3. Que valent EMAIL, $subject, $message, $headers ?
    EMAIL: laurentxxx@iname.com
    $subject: SKP: Yo
    $message:
    Yo-oo

    --
    Thank you for using FormToEmail from http://FormToEmail.com

    $headers: From: Laurent <laurentxxx@parkingb.be>

    Comme tu verras, je me suis basé sur un script venant de FormToEmail. Ce script n'inclut pas de header de type "content-type", "MIME-version", ... je suppose que ce n'est pas un problème.

    4. Un simple envoi de mail dans un script tout simple fonctionne correctement ou pas ?
    Sur ta suggestion, j'ai ajouté ça en parallèle du mail() décrit ci-dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail("laurentxxx@iname.com","AUTOTEST","Message",'MIME-Version: 1.0' . "\n");
    J'ai pas plus de succès avec celui-là.

    5. As-tu testé différents destinataires ? Peut-être que ton mail arrive dans le répertoire spam du destinataire actuel
    Oui, maintenant je bosse avec mon adresse de base et elle fonctionne.

  4. #4
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    910
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 910
    Points : 1 365
    Points
    1 365
    Par défaut
    C'est réglé:
    - il semble que l'adresse que j'utilisais est mal redirrigée chez mon hébergeur
    - les emails envoyés par ce système sont considérés comme du spam par mon webmail, et il les balançait dans un folder "junkmail". Je crois avoir lu qqch à ce sujet sur le web, pour éviter que ces mails ne soient confondus avec du spam. Si je retrouve le lien, je le poste ici.
    Merci.

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

Discussions similaires

  1. Je n'arrive pas à joindre mes fichiers par mail
    Par sab_info dans le forum Dépannage et Assistance
    Réponses: 6
    Dernier message: 06/03/2012, 14h09
  2. Réponses: 1
    Dernier message: 02/12/2008, 23h55
  3. pas d'erreur mais ma procédure ne fait pas ce qui est demandé
    Par mennou dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 15/06/2008, 16h14
  4. Réponses: 1
    Dernier message: 04/04/2008, 22h51
  5. Réponses: 1
    Dernier message: 04/12/2005, 18h02

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