| Forums FUG-FR | |
|
https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl
FreeBSD >> Réseau et sécurité >> [résolu] la fonction mail() de php ne marche pas https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl?num=1194369031 Message started by dexinou on 06. Nov 2007 at 18:10 |
|
|
Title: [résolu] la fonction mail() de php ne marche pas Post by dexinou on 06. Nov 2007 at 18:10
Bonjour à tous,
je solicite votre aide car un petit problème pour l'envoi de mail via php. J'ai Qmail comme serveur de mail et j'ai du désactiver sendmail car ilsont pas très copain tout les deux. Voici ce que j'ai dans mon rc.conf. [code]# Sendmail sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"[/code] Est-ce qi eje dois activer quelque chose pour envoyer le mail via php dans sendmail ou je doit configurer le php.ini ? Merci de votre aide. |
|
Title: Re: la fonction mail() de php ne marche pas Post by Elrohir on 06. Nov 2007 at 22:08
Salut,
Arrives-tu déjà à envoyer des mails depuis un shell ? Si non, que disent les logs ? |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 06. Nov 2007 at 22:24 Elrohir wrote on 06. Nov 2007 at 22:08:
Oui j'arrive sans problème à envoyer un mail via la commande mail. Je n'ai aucun logs qui fait référence au envois mail via php dans aucun fichiers de logs. |
|
Title: Re: la fonction mail() de php ne marche pas Post by Elrohir on 06. Nov 2007 at 22:39
Si tes mails passent en ligne de commande directe... hum.
A tout hasard, essaie d'afficher les erreurs sur tes scripts PHP (joue avec error_reporting et display_errors dans ton php.ini). Si ça marche en ligne de commande, je ne vois pas pourquoi PHP échouerai... Sauf s'il ne trouve pas le bon chemin vers ton sendmail. |
|
Title: Re: la fonction mail() de php ne marche pas Post by ros on 06. Nov 2007 at 22:49
A moins qu'il n'utilise pas la commande sendmailet tente de se connecter au serveur smtp ?
Quelle fonction utilises tu pour envoyer un mail ? (un exemple de code est le bienvenu) |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 06. Nov 2007 at 22:53 Elrohir wrote on 06. Nov 2007 at 22:39:
Bizarre, j'ai bien le level des logs php à E_ALL & E_NOTICE Il me met bien des erreurs lorsqu'il y en a mais aucune qui fait référence à la focntion mail(). Je vous met le script d'envoi à tout hasard: [code]<?php $to = "mon_adresse@mail.com"; $sujet = "Support de_mon_site"; $headers = ""; $headers .= ""; $message = ""; $message .= "Un message vous a été envoyé depuis mon_site !\n"; $message .= "Voici le récapitulatif de ce message :\n\n"; $message .= "----------------------------------------------\n"; $message .= "Pseudo : $pseudo\n"; $message .= "Adresse email : $email\n"; $message .= "Message :\n"; $message .= "$texte\n"; $message .= "----------------------------------------------\n"; $message .= "\nEnvoyé par ".gethostbyaddr($REMOTE_ADDR). " ($REMOTE_ADDR)\n"; mail($to,$sujet,$message,$headers); Header("Location: confirmsupport.php"); ?>[/code] |
|
Title: Re: la fonction mail() de php ne marche pas Post by ros on 06. Nov 2007 at 23:03
C'est peut être déjà fait, mais as tu enser à controler les options suivantes ?
Runtime Configuration The behaviour of these functions is affected by settings in php.ini. Table 156. Mail configuration options Name Default Changeable Changelog SMTP "localhost" PHP_INI_ALL smtp_port "25" PHP_INI_ALL Available since PHP 4.3.0. sendmail_from NULL PHP_INI_ALL sendmail_path "/usr/sbin/sendmail -t -i" PHP_INI_SYSTEM En tout cas le script marche pour moi ! |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 06. Nov 2007 at 23:13 ros wrote on 06. Nov 2007 at 23:03:
Merci pour l'attention: SMTP "localhost" PHP_INI_ALL smtp_port "25" PHP_INI_ALL sendmail_from NULL PHP_INI_ALL sendmail_path "/usr/sbin/sendmail -t -i" elles sont bien parametrée. je continue mes recherches... |
|
Title: Re: la fonction mail() de php ne marche pas Post by ros on 06. Nov 2007 at 23:35
Quelques bidules de configuration pour php alors :
http://www.ibm.com/developerworks/library/os-debug/ Bonne chance |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 06. Nov 2007 at 23:48 ros wrote on 06. Nov 2007 at 23:35:
Merci mais j'ai l'impression que ça ne provient pas de php. Lorsque j'en voi le mail il me dit que j'ai pas rempli tou les champs alors que c'est faux. C une erreur dans le script. Je vous poste le script complet avec le formulaire assez simple en fait: formulaire support html: Code (]Veuillez remplir le formulaire ci-dessous s'il vous plaît. <form id="contact" name="contact" method="post" action="formsupport.php"> <br /> <table width="320" border="0"> <tr> <td width="153"><span><div align="right">Votre pseudo :</div></span></td> <td width="151"> <input name="pseudo" type="text" id="pseudo" /> </td> </tr> <tr> <td><span><div align="right">Votre adresse email :</div></span></td> <td> <input name="email" type="text" id="email" /> </td> </tr> </table> <p>Votre message :<br /> <label> <textarea name="texte" cols="50" rows="5" id="texte"></textarea> </label></p> <p> <label> <input type="submit" name="Submit" value="Envoyer" /> </label> <input type="reset" name="Submit2" value="Reinitialiser" /> </form>[/code):
le fichier champs.php: Code (] Attention, vous n'avez pas rempli tous les champs ! <br /> <br /> Merci de recommencer en cliquant <a title="support" href="/support.php">ici</a>[/code):
et le fichier confirmsupport.php: [code]Votre message a bien été envoyé. <br /> <br /> Nous allons vous répondre dans les plus brefs délais.[/code] Donc ici lorsque je tente d'envoyer un mail il m'affiche le fichier champs.php alors qu'il devrait m'afficher le fichier confirmsupport.php |
|
Title: Re: la fonction mail() de php ne marche pas Post by ros on 07. Nov 2007 at 00:04
Moi j'ai fait tourner ça à la mano avec un bête php test.php et ça marchait nikel.
[code]<?php $to = "me@email.com"; $sujet = "Support de_mon_site"; $headers = ""; $headers .= ""; $message = ""; $message .= "Un message vous a e'te' envoye' depuis mon_site !\n"; $message .= "Voici le re'capitulatif de ce message :\n\n"; $message .= "----------------------------------------------\n"; $message .= "Pseudo : $pseudo\n"; $message .= "Adresse email : $email\n"; $message .= "Message :\n"; $message .= "$texte\n"; $message .= "----------------------------------------------\n"; $message .= "\nEnvoye' par ".gethostbyaddr($REMOTE_ADDR). " ($REMOTE_ADDR)\n"; mail($to,$sujet,$message,$headers); #Header("Location: confirmsupport.php"); ?> [/code] |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 07. Nov 2007 at 00:07 ros wrote on 07. Nov 2007 at 00:04:
et tu as reçu quoi comme entête ? |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 07. Nov 2007 at 00:34
ok je viens de tester chez un ami qui a un kimsufi et il marche
thx |
|
Title: Re: la fonction mail() de php ne marche pas Post by ros on 07. Nov 2007 at 00:35
Voici le mail brut :
[code]From - Tue Nov 6 23:08:20 2007 X-Account-Key: account3 X-UIDL: 0bc220364489c36691d8b4ca22df0212 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 X-Mozilla-Keys: X-Original-To: xxx@bebik.net Delivered-To: xxx@bebik.net Return-Path: xxx@bebik.net Received: by hodja.bebik.net (Postfix, from userid 1001) id B99C62843E; Tue, 6 Nov 2007 23:10:25 +0100 (CET) To: xxx@bebik.net Subject: Support de_mon_site Message-Id: <20071106221025.B99C62843E@hodja.bebik.net> Date: Tue, 6 Nov 2007 23:10:25 +0100 (CET) From: xxx@bebik.net (yoyo) X-UIDL: 0bc220364489c36691d8b4ca22df0212 Un message vous a e'te' envoye' depuis mon_site ! Voici le re'capitulatif de ce message : ---------------------------------------------- Pseudo : Adresse email : Message : ---------------------------------------------- Envoye' par () [/code] |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 07. Nov 2007 at 01:22
Merci.
Bon voici ce que me renvoi les logs de php: Code (]Notice: Undefined variable: pseudo in /usr/home/www/zapto.org/www/envoisupport.php on line 11 Notice: Undefined variable: email in /usr/home/www/zapto.org/www/envoisupport.php on line 12 Notice: Undefined variable: texte in /usr/home/www/zapto.org/www/envoisupport.php on line 14 Notice: Undefined variable: REMOTE_ADDR in /usr/home/www/zapto.org/www/envoisupport.php on line 17 Warning: gethostbyaddr() [function.gethostbyaddr):
Et le mail est envoyé !! |
|
Title: Re: la fonction mail() de php ne marche pas Post by ros on 07. Nov 2007 at 01:27
Ne serait-cer pas le mail de l'expediteur qui manque ? C'est normalement definit dans la config d'apache ça non ?
|
|
Title: Re: la fonction mail() de php ne marche pas Post by Lenine on 07. Nov 2007 at 09:49 dexinou wrote on 06. Nov 2007 at 23:48:
Probleme de register_global à OFF p'tit gars.. (Par default c'est off maintenant pour des question de sécurité) avec $_REQUEST['pseudo'] etc.. cela marchera mieux. |
|
Title: Re: la fonction mail() de php ne marche pas Post by dexinou on 07. Nov 2007 at 12:59 [BSDf]Lenine wrote on 07. Nov 2007 at 09:49:
J'ai modifier le paramètre du register_global à On et résultat.....ça marche [smiley=happy.gif] Merci |
|
Title: Re: [résolu] la fonction mail() de php ne marche p Post by Elrohir on 07. Nov 2007 at 13:46
Il est quand même bien plus conseillé de laisser le register_globals à off et de modifier les scripts :-)
|
|
Forums FUG-FR » Powered by YaBB 2.5.2! YaBB Forum Software © 2000-2026. All Rights Reserved. |