Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2011, 12h37   #1
Membre Expert
 
Avatar de ludojojo
 
Homme Ludovic Solczynski
Développeur .NET
Inscription : avril 2008
Messages : 1 446
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Solczynski
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2008
Messages : 1 446
Points : 2 179
Points : 2 179
Par défaut Impossible d'envoyer un mail via PHP

Bonjour,

J'ai un petit soucis, de configuration je pense, pour utiliser la fonction mail() de php.

J'utilise une machine redhat :
Citation:
cat /etc/issue
Red Hat Enterprise Linux Server release 5.6 Beta (Tikanga)
Lorsque j'utilise la fonciton mail de linux, comme ceci :
Citation:
]# mail -vvv nom@email.fr
Subject: test
test
Cc:
nom@email.fr... Connecting to [127.0.0.1] via relay...
220 10.9.202.150 ESMTP Sendmail 8.13.8/8.13.8; Tue, 12 Apr 2011 11:33:12 +0200
>>> EHLO 10.9.202.150
250-10.9.202.150 Hello monserveur [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> MAIL From:<root@10.9.202.150> SIZE=52
250 2.1.0 <root@10.9.202.150>... Sender ok
>>> RCPT To:<nom@email.fr>
>>> DATA
250 2.1.5 <nom@email.frr>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 p3C9XCaO018092 Message accepted for delivery
nom@email.fr... Sent (p3C9XCaO018092 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 10.9.202.150 closing connection
Je reçoit correctement le mail, donc le paramettrage de sendmail est bon!
Par contre dès que je veux utiliser un script php :
Code :
1
2
3
4
5
6
7
8
9
<?php
$to      = 'nom@email.fr';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: nom@email.fr' . "\r\n" .
    'Reply-To: nom@email.fr' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
echo 'ok';
Cela ne fonctionne pas. Je n'ai pas de message d'erreur, mais je ne reçoit jamais le mail.

Dans mon fichier /etc/php.ini, j'ai bien ça :
Citation:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail
Est ce quelqu'un peut me dire ce que j'ai oublié? Ce que j'ai mal fait?
Est ce qu'il y a une partie de la configuration à faire que j'aurais oubliée?
Est ce que je peux tracer ce qu'il se passe avec la fonction mail() de php comme avec la fonction mail de linux?

Merci par avance pour vos lumières...
__________________
Aide les autres...
Et les autres t'aideront....
Mon site DVP
Mon site perso

N'oubliez pas de voter pour les messages dont la réponse est pertinente
ludojojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 12h56   #2
Membre Expert
 
Avatar de ludojojo
 
Homme Ludovic Solczynski
Développeur .NET
Inscription : avril 2008
Messages : 1 446
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Solczynski
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2008
Messages : 1 446
Points : 2 179
Points : 2 179
Citation:
Envoyé par ludojojo Voir le message
Par contre dès que je veux utiliser un script php :
Code :
1
2
3
4
5
6
7
8
9
<?php
$to      = 'nom@email.fr';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: nom@email.fr' . "\r\n" .
    'Reply-To: nom@email.fr' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
echo 'ok';
En modifiant le script pour tester le résultat de la fonction mail :
Code :
1
2
3
4
if(mail($to, $subject, $message, $headers))
	echo("<p>Message successfully sent!</p>");
else
   echo("<p>Message delivery failed...</p>");
J'obtiens bien sur le message "delivery failed..."
__________________
Aide les autres...
Et les autres t'aideront....
Mon site DVP
Mon site perso

N'oubliez pas de voter pour les messages dont la réponse est pertinente
ludojojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 14h33   #3
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
D'après les commentaires de la doc PHP:
Citation:
If mail() encounters an error, it just returns false. To find why, we need to discover where the sendmail command put its error. On Linux, this is usually /var/log/messages.
Allez donc voir l'erreur dans le dossier sus-nommé et revenez vers nous
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 15h13   #4
Membre Expert
 
Avatar de ludojojo
 
Homme Ludovic Solczynski
Développeur .NET
Inscription : avril 2008
Messages : 1 446
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Solczynski
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2008
Messages : 1 446
Points : 2 179
Points : 2 179
J'ai déjà jetté un coup d'oeil ici, mais rien de bien concluant!
Voici le contenu :
Citation:
Apr 12 10:57:23 zefir-test ntpd[1407]: synchronized to 10.9.203.252, stratum 3
Apr 12 11:16:43 zefir-test ntpd[1407]: synchronized to 10.9.203.253, stratum 3
Apr 12 11:27:14 zefir-test ntpd[1407]: synchronized to 10.9.203.252, stratum 3
Apr 12 13:51:48 zefir-test dhclient: DHCPREQUEST on eth0 to 165.9.16.62 port 67
Apr 12 13:51:48 zefir-test dhclient: DHCPACK from 165.9.16.62
Apr 12 13:51:48 zefir-test dhclient: bound to 10.9.202.150 -- renewal in 33587 seconds.
Les trois premières lignes se répètent n fois... Et comme vous pouvez le constater, aucune entrée après 13h51 alors que je test encore...

Ai-je omis quelque chose?
__________________
Aide les autres...
Et les autres t'aideront....
Mon site DVP
Mon site perso

N'oubliez pas de voter pour les messages dont la réponse est pertinente
ludojojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 17h53   #5
Membre Expert
 
Avatar de ludojojo
 
Homme Ludovic Solczynski
Développeur .NET
Inscription : avril 2008
Messages : 1 446
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Solczynski
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2008
Messages : 1 446
Points : 2 179
Points : 2 179
J'ai fait un restart du service syslog afin de le visualiser dans les logs :
Citation:
Apr 12 17:49:58 zefir-test syslogd 1.4.1: restart.
Apr 12 17:49:58 zefir-test kernel: klogd 1.4.1, log source = /proc/kmsg started.
Il semblerais donc que la fonction mail ne fournisse aucun log. Est ce une configuration à faire? Comment puis-je remédier à cette situation?
__________________
Aide les autres...
Et les autres t'aideront....
Mon site DVP
Mon site perso

N'oubliez pas de voter pour les messages dont la réponse est pertinente
ludojojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h52.


 
 
 
 
Partenaires

Hébergement Web