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() de php ne fonctionne pas sur le site hébergé


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut Fonction mail() de php ne fonctionne pas sur le site hébergé
    Bonjour à toutes et tous

    mon problème est que je n'arrive pas à envoyer des mails avec la fonction mail() php !

    la situation: Nous avons un site hébergé par Scaleway le site a été construit avec Wordpress (fait par mes prédécesseurs) moi j'ai créé des pages spécifiques en html directement dont un formulaire de contact qui pour valider envoi un mail de confirmation. la fonction mail() de php ne fonctionne pas sur le site hébergé (ça fonctionnait correctement sur mon ordinateur en local).
    Sur Wordpress il y a le logiciel de test "Check & log mail" qui permet de tester l'envoi de mail avec sendmail , là ça fonctionne correctement.
    Je crois que la fonction mal() de php utilise sendmail pour envoyer les mails.
    la fonction mail() de php renvoie true comme si le mail était bien envoyé mais rien dans les boîte des destinataires ni dans les spams.

    Je me demande quelle partie n'est pas bien configurée?

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 160
    Par défaut
    Avec la fonction mail, c'est à toi de formater celui-ci correctement. Si ce n'est pas le cas il sera transmis mais aura peut de chances d'arriver. Si tu es sur wordPress, pourquoi ne pas directement utiliser une extension type contact Form qui fera très bien le job ?

    Tu as aussi la bibliothèque phpmailer qui permet d'envoyer des mails conformes.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Bonjour Merci de ton intérêt.

    pour la fonction mail() je connais je sais la formater et sur mon PC en local ça fonctionne bien, c'est seulement lorsque j'ai chargé mes fichier sur le site hébergé par "Sacleway" que ça ne fonctionne pas.

    Le site a été conçu avec Wordpress, moi je ne connais pas la programmation avec WordPress et j'ai rajouté des fichiers en html qui font la même chose un formulaire de contact.
    Le formulaire de contact de wordpress utilise quelle fonction ?

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 160
    Par défaut
    mon PC en local ça fonctionne bien
    oui, mais tu n'es pas dans le même contexte.

    Le site a été conçu avec Wordpress, moi je ne connais pas la programmation avec WordPress et j'ai rajouté des fichiers en html qui font la même chose
    Tu n'as rien à programmer, juste installer l'extension et la paramétrer (càd renseigner les champs du formulaire et sur quelle adresse celui-ci envoie les infos). Plus simple que de créer du code PHP/HTML, et ça fonctionne.

    Le formulaire de contact de wordpress utilise quelle fonction ?
    soit phpmailer, car c'est une bibliothèque ayant pignon sur rue, soit directement mail(), ou autre chose, il faudrait étudier le code. phpmailer va utiliser mail() mais en formatant correctement celui-ci.

    Je crois que la fonction mail() de php utilise sendmail pour envoyer les mails
    mail() s'appuie sur les réglages dans le php.ini (section [mail function]) qui va contenir l'adresse IP ou le nom d'hôte du serveur mail qu'il doit utiliser.

    mail te retourne true car le serveur SMTP l'a accepté pour livraison, ce qui ne veut en aucun cas dire que d'une part, celui-ci est été envoyé (il faudrait regarder dans la queue du serveur SMTP), et que ensuite il ai été accepté par le serveur mail du destinataire et enfin qu'il ne soit pas supprimé ou taggué SPAM au niveau du serveur mail du destinataire.

    phpmailer te permet de formater correctement le mail par rapport à ce qui est attendu des normes. Tu peux utiiser directement mail() si tu maitrises les règles de formatage des mails données par les RFC, sinon il vaut mieux le faire avec des outils comme phpmailer. dans le cas contraire, tu t'expose au problème que tu rencontres.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    merci on sent que tu touches.

    Tu n'as rien à programmer, juste installer l'extension et la paramétrer (càd renseigner les champs du formulaire et sur quelle adresse celui-ci envoie les infos).
    quelle extension ?

    En fait j'ai repris une association et les installateurs du site sont partis . Il faudrait que je me penche sur wordpress pour faire mes formulaires mais il faut que je me plonge dedans et j'avais fait quelques formulaires en HTML.

    je vais voir avec l'extension dont tu parles

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 160
    Par défaut
    Tu peux utiliser contact form 7. Il y en a d'autres qui seront tout aussi valables mais celle-ci je la connais. Je fais pas spécialement beaucoup de wordpress, donc il y a en a peut-être des mieux, mais sauf avis de qq1 d'autre faisant plus de wordpress que moi, elle conviendra.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    PHPMAILER n'a pas que des partisans. A son sujet :
    Citation Envoyé par Droïde Système7 Voir le message
    Pas tout-à-fait d'accord !

    Car dans la boite celui qui désormais fait ça = direction porte de sortie directo...

    Une fois un server a crashé et toutes sortes d'identifiants sont apparus aux yeux de tous.

    Scandale étouffé sauf des $$$$ partis en fumée... Mais ici celui qui tente aura des soucis

    DS7
    https://www.developpez.net/forums/d2.../#post11663698

    C'est vrai que sous Wordpress, pour envoyer des mails, je le fais uniquement avec Contact Form 7, et j'en suis satisfait.

  8. #8
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 160
    Par défaut
    c'est pour ça que des bibliothèques, ça se met à jour. et aussi les extensions surtout contact form qui a déjà eu des failles. Elle reste une des plus utilisées.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    bonsoir

    j'ai fait un tas de test et je ne m'en sors pas!!

    avant de continuer:
    Le site a été construit avec WordPress il y a simplement un lien qui renvoie vers mes fichiers php.
    Est ce que c'est la même chose d'utiliser directement l'adresse url de mes fichiers ou dois-je impérativement passer par le site pour accéder seulement à mon lien? (pour que les fichiers utilisent la bonne configuration du site)

    Tu n'as rien à programmer, juste installer l'extension et la paramétrer (càd renseigner les champs du formulaire et sur quelle adresse celui-ci envoie les infos). Plus simple que de créer du code PHP/HTML, et ça fonctionne.
    pas évident que ça soit plus simple. Il faut maitriser WordPress. il faut que j'essaie en local et après que je trouve le moyen de faire intégrer ça sur le serveur.
    De plus les données du formulaire doivent être enregistrées dans ma base de données, j'exécute du code php, j'interroge la base de données avant d'envoyer le mail.
    comment faire avec WordPress?

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 160
    Par défaut
    De plus les données du formulaire doivent être enregistrées dans ma base de données
    Effectivement là ça va être un peu plus compliqué.

    En regardant vite fait, il existe une autre extension nommée contact form 7 database addon qui va enregistrer les données des formulaires de contact form dans une table de la base wordpress. Tu pourras interroger ensuite cette table.

    Sinon après tu peux aussi développer ton propre plugin wordpress, mais il faut avant avoir un niveau minimal en wordpress.

    La solution d'avoir un code autonome est possible (tant qu'il fonctionne) mais dans ce cas là wordpress perd son intérêt, donc à faire en dernier recours et tout à fait évitable dans ta situation. L'idée étant de ne pas créer un franken-wordpress si on te demande un autre truc après.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  11. #11
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas regardé de près (ni de loin ), mais cette discussion t'intéressera peut-être : https://www.developpez.net/forums/d2...ntenu-bdd-cf7/

  12. #12
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Bonjour
    encore merci de me répondre.
    La difficulté est que le site, fonctionne pas trop mal, il n'y a que des infos des activités des CA des nouvelles, pas du tout d'interactivité. Ce site a été crée par les anciens dirigeants de l'association avec l'aide d'un "informaticien" qui aujourd'hui est incapable de me faire fonctionner ma fonction mail() php.
    Car moi j'ai développé en php et mysql toute la gestion de ma base de données. j'ai créé mes formulaires en html car je n'arrivais pas à fabriquer avec WordPress ce formulaire (27 lignes d'activités avec chacune des cases à cocher dépendantes les unes des autres (pas de simples groupes),des totaux calculés immédiatement, des réductions immédiates en fonctions de ce qui vient d'être coché, la possibilité de revenir en arrière et rétablir les bons comptes... la création se fait au chargement de la page en fonction des données de la base....) Je suis assez content de ce que j'ai réalisé, ça présente bien et c'est efficace!
    Donc j'ai demandé au "gestionnaire" du site de me créer un lien vers mes fichiers choses faites! mais mail() php ne fonctionne pas et je ne veux pas continuer sans être sûr de pouvoir confirmer l'adresse mail de chaque adhérents.

    peux tu me confirmer que mes pages php devraient fonctionner en parallèle de wordpress.

    Si c'est le cas je vais tenter de louer un autre serveur web y installer mes pages, verifier que j'envois mes mails et ensuite je rapatrierai le site wordpress. ca doit être faisable ?

  13. #13
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Visiblement, tu souhaites conserver ton formulaire codé en dehors de Wordpress et d'ailleurs, tu n'arrives pas à l'intégrer. Aucune raison que ça ne puisse coexister avec la partie en Wordpress, même sur le même serveur...Comme la fonction PHP mail ne veut pas fonctionner, écoute chrtophe et intéresse toi à PHPMAILER...

  14. #14
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    phpmailer me pose un nouveau problème comment l'installer sur ce serveur et à quel endroit ? pour installer phpmailer il faudrait "composer", nouveau problème.

    même en local je n'ai rien compris ni donc réussit à installer phpmailer!!!

    je tourne en rond

  15. #15
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Pas besoin de Composer pour utiliser PHPMailer : https://analyse-innovation-solution....un-mail-en-php

  16. #16
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    merci j'ai enfin réussit

  17. #17
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Et on peut savoir comment ? PHPMailer ?

  18. #18
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Bonjour

    c'est vrai que j'aurai du expliquer!

    oui avec phpmailer j'ai réussit à l'installer comme tu me l'a indiqué.

    Entre temps j'ai loué un site Hosteur pour faire mes essais et la j'ai réussit avec l'aide de l'assistance à utiliser la fonction mail() de php
    voilà ce que j'en ai retiré: le FROM doit bien correspondre à l'adresse mail principale du site .
    ensuite dans le header c'est une suite de string donc attention au ' et "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $header="MIME-Version: 1.0\r\n";
    $header.="From:'GYM NATURE FORME'<contact@gnf-embrun.fr>\n"; comme ici GYM NATURE FORME entre guillemet simple si commencé par double guillemet
    $header.="Content-Type:text/html; charset='uft-8'\n"; pareil pour utf8
    $header.="Content-Transfer-Encoding: 8bit";
    $message_mail='															
    			'.$civilite.' '.$nom.' Vous êtes '.$genre_inscrit.' dans la base de données de GNF <br/>
    			Pour finaliser Votre inscription vous devez cliquer sur le lien suivant: <br/>
    			https://www.truc.fr/index.php?nom='.$nom.'&key_confirm='.$key_confirm.' Confirmez Votre compte !
     
    ';
    je crois que c'est les 2 gros points qui m'ont perturbé!

    Mais sur mon site officiel où il y a wordpress la fonction mail ne fonctionne toujours pas et là je n'ai pas encore tenté d'utiliser phpmailer. mais je verrai si la personne qui s'occupe du site ne me trouve pas une solution.

    Si un jour ça fonctionne je ne manquerai pas d'informer.

    encore merci

  19. #19
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    OK,
    ça m'intéresse de savoir si tu réussis à utiliser PHPMailer dans un site WP car j'en gère un aussi et pour envoyer un mail, jamais essayé d'utiliser PHPMailer ; je le fais avec le plugin Contact Form 7.

  20. #20
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 513
    Par défaut
    Justement puisque tu as un site avec wordpress tu peux essayer de faire un fichier test_mail.php pour t'envoyer un mail avec la fonction mail() .
    encore mieux tu m'en. vois dans ce mail le script que tu feras à l'adresse mon mail (Si tu veux bien et que tu as un peu de temps)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/09/2017, 01h05
  2. Le php ne fonctionne pas sur certaine page ?
    Par dark vador 008 dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2009, 17h09
  3. Réponses: 9
    Dernier message: 21/04/2009, 23h40
  4. video ne fonctionne pas sur le site
    Par marssupilamis1 dans le forum Débuter
    Réponses: 13
    Dernier message: 18/10/2008, 16h26
  5. [Wamp] scripts en php ne fonctionnent pas sur wampserver
    Par unggoyer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/04/2008, 22h16

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