Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 16-01-2008 18:31:52

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Envois d'un courriel (envois rien...)

Bonjours c'est encore moi!

Ce message fait un peu lien avec mon dernier message:
http://www.phportail.net/forum/ftopic3083.php

Maintenant je tente d'envoyer un email mais mon script n'envois absolument rien et j'ai beau le changer de tout sens tout côté sa ne change absolument rien....Aucune erreur mais aucun email envoyé:

Voici le bout de code problématique:

Code:

else
    {
        //INSCRIPTION RÉUSSI
        //INSERTION DE LA LIGNE AVEC LES INFOS DU VISITEUR
        mysql_query ("INSERT INTO matable VALUES('', '".$nom_enter."', '".$prenom_enter."', '".$password_enter."', '".$email_enter."', '0', '0')");
        //ENVOIS D'UN MAIL D'ACTIVATION
        function envoiecourrielvalidation($nom, $nomusager, $to, $motpasse, $nomembre)
        {
        /*LE SUJET */
        $subject = "Inscription: MONSITE";
  
        /* LE CORP...*/
        $message = "Bonjour, ".$nom_enter.", ".$prenom_enter." ! \n\nMerci de vous être enregistré.   Vous êtes priés de conserver cet e-mail dans vos archives. \nVoici les informations concernant votre compte : \n \nNom d'utilisation : ".$email_enter." \nMot de passe: ".$password_enter." \n \nPour activer votre compte, veuillez cliquer sur ce lien :  http://www.UNADRESSE.com/activation.php?email_mem=".$email_enter."  \n\nL'équipe MONSITE";
  
        $headers = "From: UNSITE <replyreply@hotmail.com>\r\n";
        /* ENVOIS DU MAIL */
        mail("MONADRESSE@hotmail.com", ".$subject.", ".$message.", ".$headers."); //********************************
        }
    ?>
    //PAGE DE RÉUSSITE    
    <?php
    }

*Prendre note que dans la ligne mail(...........) J'ai mis mon email pour le moment pour voir si mon script envoyait un email...(la ligne avec plein d'étoile en commentaire)

J'espère que l'un d'entre vous pourras me dire où est le problème ou me donner des pistes big_smile
Noté aussi que quand le script va fonctionner je vais remplacer le champ du email par ".$email_enter."

Merci à tous!

Hors ligne

 

#2 16-01-2008 19:48:24

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Envois d'un courriel (envois rien...)

Ecrire une fonction, c'est bien, mais faut-il encore l'utiliser si tu veux recevoir le mail car ici elle n'est juste que définie.
Vois tu ce que je veux dire ?

Hors ligne

 

#3 16-01-2008 19:53:41

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

Ouai....Alors dans le fond j'ai seulement créé une fonction mais je ne l'utilise pas....(je débute dsl)
Mais alors comment appeler une Fonction une fois quelle est créé? Avec Include?
Je devrais alors mêttre: include ("envoiecourrielvalidation");
Ou bien je créé ma fonction dans un autre page php et je l'appèlle en faisant: include ("envoiecourrielvalidation.php"); ou include ("envoiecourrielvalidation.inc.php");   ?

J'ai essayé d'enlever complêtement la fonction donc:

Code:

        /*LE SUJET */
        $subject = "Inscription: MONSITE";
  
        /* LE CORP...*/
        $message = "Bonjour, ".$nom_enter.", ".$prenom_enter." ! \n\nMerci de vous être enregistré.   Vous êtes priés de conserver cet e-mail dans vos archives. \nVoici les informations concernant votre compte : \n \nNom d'utilisation : ".$email_enter." \nMot de passe: ".$password_enter." \n \nPour activer votre compte, veuillez cliquer sur ce lien :  http://www.UNADRESSE.com/activation.php?email_mem=".$email_enter."  \n\nL'équipe MONSITE";
  
        $headers = "From: UNSITE <replyreply@hotmail.com>\r\n";
        /* ENVOIS DU MAIL */
        mail("MONADRESSE@hotmail.com", ".$subject.", ".$message.", ".$headers.");

et j'obtien l'erreur suivante...:

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in ...répertoire de ma page... on line 62
la line 62 qui est:

Code:

        mail("MONADRESSE@hotmail.com", ".$subject.", ".$message.", ".$headers.");

Maintenant je n'y comprend plus rien :S

Si sa peut aider: J'utilise WAMP pour faire une simulation de serveur...
php.ini est un fichier txt (peut être un rapport)

Merci pour ta réponce rapide big_smile

Dernière modification par Myst3ry (16-01-2008 20:30:13)

Hors ligne

 

#4 17-01-2008 00:37:25

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Envois d'un courriel (envois rien...)

Pour utiliser ta fonction c'est pareil que quand tu utilise une autre fonction PHP comme mail() par exemple.

Code:

envoiecourrielvalidation($nom, $nomusager, $to, $motpasse, $nomembre);

Sinon, tu dis que tu utilise wamp ? dans ce cas laisse tomber la fonction mail ne fonctionnera pas à moins que tu n'installe un serveur de mail sur ta machine car tu tourne sous windows, ou sinon faut modifier ta config je crois.
Regarde ici : http://fr.php.net/manual/fr/ref.mail.php
Mais là je ne m'y connais pas trop bien car je suis plutôt sous Linux et là au moins y a tout ce qu'il faut  :-)))
De toute façon tu vas mettre tes fichiers chez un hebergeur j'imagine ? Là ça devrait le faire.

Hors ligne

 

#5 17-01-2008 06:47:03

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

non non je suis sur WAMP sur Windows mais je TEST sur windows ensuite je transfère sur mon FTP Linux (bein FreeBSD) où j'ai installé MySql et PHP et WAMP lui sert seulement à faire COMME si j'étais sur un serveur Linux...Il transforme mes page etc...

Mais bon je trouve que de créer une fonction c'est pas très important alors comment faire sans fonction? ou bien devrège l'essayer directement sur mon serveur FTP?

Dernière modification par Myst3ry (17-01-2008 06:58:12)

Hors ligne

 

#6 17-01-2008 08:01:53

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 428
Site web

Re: Envois d'un courriel (envois rien...)

ce qui est important, comme le fait remarquer Shiva, c'est d'avoir un serveur mail.

Que tu sois sous Linux ou Windows ne change pas vraiment le fond du problème. Par contre, sous Linux, c'est souvent plus simple d'installer un serveur de mail.

Hors ligne

 

#7 17-01-2008 11:19:58

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

Comment je peux vérifier si je les sur mon serveur linux?

Hors ligne

 

#8 17-01-2008 17:31:07

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Envois d'un courriel (envois rien...)

Si tu a nmap d'installer sur ton serveur tu as juste a faire : nmap localhost
Il te donnera les ports ouverts et si tu vois le port 25 c'est qe c'est OK, c'est le smtp
Après faut voir la conf de ton serveur de mails. Je ne connais pas trop FreeBSD et je ne sais pas si par défaut il y a un serveur de mail d'installé dessus. Peut être que c'est le cas et tu dois avoir soit postfix, soit sendmail qui sont les plus répendus.

Hors ligne

 

#9 17-01-2008 18:42:32

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

Salut,

Je suis sur Qu'il a un programe pour envoyer des emails car mon Serveur m'en envois a chaque jours pour me dire l'espace sur le disque utilisé et les conection tenté sur le serveur big_smile

Mais comment vérifier celui qui est installé parce que si je me rapelle bien j'ai déjà (JE CROIS) installé SendMail ultérieurement.
EDIT:
Et oui après vérification j'ai bien SENDMAIL d'installé je suis allé (a partir de root) dans:
/usr/sbin et il y a Sendmail

Mais tu à écris que je devais faire nmap localhost....
Je crois que nmap n'est pas installé car sa ne fonctionne pas il dit qu'il na pas trouvé la commande....
Mais bon c'est quoi nmap? C'est utile? Indispensable? Ou c'est un autre programme pour envoyer des mail?
Dsl de poser beaucoup de question mais j'essais de comprendre big_smile
J'ai déjà entendu SMTP... Sa veux dire quoi déjà Simple Mail Transfer Protocol...? Simple Protocole de transfert de mail? Et sa sert à quoi?

Encore un GROS merci pour ton aide!

Dernière modification par Myst3ry (17-01-2008 19:01:14)

Hors ligne

 

#10 17-01-2008 20:14:37

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Envois d'un courriel (envois rien...)

nmap n'est pas du tout utile pour le mail, il ne sert qu'a donner les ports ouverts sur une ou un ensemble de machines.
Ca te permet aussi de voir les portes ouvertes en TCP et UDP sur ton serveurs. Google => nmap pour plus d'infos.
Vu que tu n'as pas nmap tu peux tapper ceci :

Code:

netstat -a | grep 'listen'

Ca te donnera la liste des services qui tournent. Si tu vois smtp c'est que c'est OK.
Pour smtp je te conseille vivement une petite recherche sur Google, c'est pas la doc qui manque et en français en plus :-)
Sinon, pour en revenir au PHP, je pense que ça devrait tourner sans problème sur ton serveur.

Hors ligne

 

#11 17-01-2008 20:18:50

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

Salut,

Pour ta ligne de commande sa fonctionne J'ai cherché un peu mais POUR MOI il fallait que je marque: netstat -a | grep 'LISTEN'

Mais j'ai rien en SMTP tout du TPC Avec LISTEN mais si je mets pas le listen la jai du UDP...C'est normal? C'est un problème....?Sa voudrais dire que je peux pas envoyer de Mail car SMTP n'est pas installé??
Mais pourquoi suis-je capable de m'envoyer un email depuis le SERVEUR (sur la machine).

Mais puis-je installé Nmap Parce que c'est beaucoup plus simple et plus clair big_smile

Merci encore!

Dernière modification par Myst3ry (17-01-2008 20:36:54)

Hors ligne

 

#12 17-01-2008 21:27:54

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Envois d'un courriel (envois rien...)

Fais un

Code:

ps -ef | grep sendmail

Sur un AIX j'ai ceci :

Code:

host-user:/home/user >ps -ef | grep sendmail
root   8832  37200   0   Jan 14      -  0:02 sendmail: accepting connections
user  93320  17008   2 03:23:42  pts/2  0:00 grep sendmail
host-user:/home/user >netstat -a | grep smtp
tcp4       0      0  *.smtp                 *.*                    LISTEN

Ce qui veux dire qu'il tourne, mais si tu n'as rien avec la commande netstat, là je vois pas.
Perso, sur mon dédié je tourne avec une Debian et un bon Postfix :-))
Un couple qui fonctionne très bien :-))

Dernière modification par Shiva (17-01-2008 21:31:10)

Hors ligne

 

#13 17-01-2008 21:55:37

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

pour sendmail j'ai seulement les lignes:

Code:

ps: Process environment requires procfs(5) //Ici sa veut dire quoi?
 8695  p0  R+     0:00.00  grep sendmail //ICI

et Avec netstat -a | grep 'LISTEN'
J'ai SSH, telnet etc mais pas smtp....C'est Grave?

Je peux envoyer des email quand même en PHP?

Edit:

Bon je crois que je peux envoyer des mail parce que j'ai fais des recherche et sa dit que dans FreeBSD on peu utiliser la Comande Mail facilement et que Sendmail est déjà configuré pour nous aider... Alors pour sa sa fonctionne je vais faire quelques test pour voir...

P.S. Je met le message en (RÉSOLU) mais si j'ai d'autre prob je les posterai ici(si sa à un rapport avec SENDMAIL)

Encore merci de votre aide!

Dernière modification par Myst3ry (17-01-2008 22:10:23)

Hors ligne

 

#14 18-01-2008 00:03:26

Shiva
Moderateur
Lieu: BONNEUIL SUR MARNE
Date d'inscription: 15-11-2005
Messages: 299
Site web

Re: Envois d'un courriel (envois rien...)

Fais toi un fichier avec juste la fonction mail dedans et met le sur ton serveur

Code:

<?php mail('ton adresse mail', 'sujet', 'corps', 'From: root'); ?>

Et ouvre le depuis ton navigateur et tu verras tout de suite si tu as reçu un mail ou pas. Là tu sera vite fixé sur la possibilité d'envoyer un mail ou pas.
Sinon, je te conseille vivement de virer telnet, surtout si tu as ssh, car telnet fait transiter les password en clair entre le client et le serveur...

Dernière modification par Shiva (18-01-2008 00:03:50)

Hors ligne

 

#15 18-01-2008 06:42:49

Myst3ry
Membre
Date d'inscription: 15-01-2008
Messages: 36

Re: Envois d'un courriel (envois rien...)

Je sais mais je ne l'utilise pas quand je me conecte à distance (je ne les jamais utilisé) car je sais que c'est pas super sécuritère...J'utilise touours SSH big_smile

Et jvais essayer se que tu ma dit! Je vais aussi essayer d'envoyer un email directement sur ma machine (serveur) et je verai.
Mais comment viré Telnet...SI je ne le vire pas c'est grave? Quelqu'un pourais trouver met Mots de passe? ou sa prend juste de la palce pour rien!

EDIT:
Ouai cool sa fonctionne sur ma machine
Je fais MAIL il me dit no new message la je refais:

Code:

mail monadresse@hotmail.com
Subject: TEST
TEST TEST TEST TEST
.
EOT

Voila envoyé et je  le recois après mailtenant je vais le faire avec une page php....

Mais j'ai des petites question.
Faut t'il absolument se conecter à la BDD pour pouvoir envoyer un mail: Ma réponce est non (Est-ce que j'ai raison?)
Faut t-il se connecter à quelque chose sur le serv?: Ma réponce Je c pas (j'ai raison?)
...

Si quelqun pourrais me dire dans mon code si je dois seulement mettre:

Code:

<?php mail('ton adresse mail', 'sujet', 'corps', 'From: root'); ?> // et sa devrait aller

Merci pour tout!

Dernière modification par Myst3ry (18-01-2008 06:52:52)

Hors ligne