erreur avec la fonction mail

Répondre
Isaac
le 26/01/2005 à 21:00
Isaac
Hello !

J'ai fais un petit script qui marche presque entièrement ! J'ai un petit souci : il y a une erreru avec la fonction mail() !

Erreur :
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in L:\_web.zmwsc\cours\enregistrement.php on line 66


Et le fichier :-) :
<?php
# enregistrement.php

include('./tete.inc.php');
$titre = "Enregistrement";

If (isset($_POST['submit'])) :
$message = Null;

If (empty($_POST['prenom'])) :
$prenom = False;
$message .= "Vous avez oublié d'indiquer votre prenom.";
Else :
$prenom = $_POST['prenom'];
EndIf;

If (empty($_POST['nom'])) :
$nom = False;
$message .= "Vous avez oublié d'indiquer votre nom.";
Else :
$nom = $_POST['nom'];
EndIf;

If (empty($_POST['email'])) :
$email = False;
$message .= "Vous avez oublié d'indiquer votre email.";
Else :
$email = $_POST['email'];
EndIf;

If (empty($_POST['pseudo'])) :
$pseudo = False;
$message .= "Vous avez oublié d'indiquer votre pseudo.";
Else :
$pseudo = $_POST['pseudo'];
EndIf;

If (empty($_POST['passwd1'])) :
$passwd = False;
$message = "Vous avez oublié d'indiquer votre mot de passe.";
Else :
If ($_POST['passwd1'] == $_POST['passwd2']) :
$passwd = $_POST['passwd1'];
Else :
$passwd = False;
$message .= "Les deux mots de passe doivent être identiques.";
EndIf;
EndIf;

If ($prenom && $nom && $pseudo && $email && $passwd) :
require_once('mysql_connect.php');
$sql = "INSERT INTO users (prenom, nom, pseudo, email, passwd, date_enr)
VALUES ('$prenom', '$nom', '$pseudo', '$email',
PASSWORD('$passwd'), NOW())";
$envoi = mysql_query($sql);
If ($envoi) :
$txt_email = "<i>Auto-message -- N'y répondez pas</i><hr />
Merci de vous être inscrit !
Votre nom : $nom
Votre prenom : $prenom<br/>
Votre pseudonyme : $pseudo
Votre E-mail : $email
Votre mot de passe : $passwd
\t\t Isaac";
mail($email, 'Inscription', $txt_email, 'From: isaac@localhost');
echo "Merci de vous être inscrit ! Vous allez recevoir un E-mail.";
include_once('pied.inc.php');
exit();
Else :
echo "Erreur du système. Enregistrement erroné.".mysql_error();
EndIf;
mysql_close();
Else :
echo "Quelque chose n'est pas correct. Veuillez recommencez.";
EndIf;
If (isset($message)) echo $message;
EndIf;
?>
<!-- Ici le formulaire avec l'incription que je vous epargne =) (=> j'l'ai enlevé quoi !) -->

<?php
include_once('./pied.inc.php');
?>
http://www.zmws.com
bibi
le 26/01/2005 à 21:04
bibi
c'est marqué :

soit tu ne dois pas spécifier de From pcke tu n'as pas activé cette option dans ton php.ini , soit ton From est erroné. Vérifie ton php.ini :)
commit suicide
LA GLOBULE
le 26/01/2005 à 21:05
LA GLOBULE
L'erreur te dit le soucis : il manque quelque chose à ton php.ini pour que PHP puisse envoyer un mail => l'adresse d'un serveur de mail.

Ouvre le php.ini, et recherche les lignes qui parlent de mail.
Ca ressemblent à ceci :

[mail function]
; For Win32 only.
;SMTP =
;smtp_port =

; For Win32 only.
;sendmail_from =

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
mobman02
le 27/01/2005 à 07:32
mobman02
et aussi dans ce code, j'ai remarquer que dans le texte du mail tu avait mis des balise HTML (<BR />)
alors que tu envoie bien un mail au format plain/text.

Il faut mettre \n pour sauter une ligne !

Voila bonne chance ;)
http://damienalexandre.fr/
Isaac
le 27/01/2005 à 18:15
Isaac
Merci pour toutes ces réponses (à part une d'un goût douteux ... smiley) !

> LA_GLOBULE
Voici ce à quoi ressemble mon php.ini :
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = me@example.com

Faut-il enlever le point-virgule devant la dernière ligne ?

>mobman02
Comment fait-on pour envoyer un mail au format Html ?

Merci, ++
http://www.zmws.com
Isaac
le 30/01/2005 à 20:13
Isaac
Hi !

J'ai décommenté la ligne. Mais maintenant, Voilà l'erreur :
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in M:\_web.zmwsc\cours\enregistrement.php on line 71


Que dois-je modifier dans mon php.ini ?

Merci ! ++
http://www.zmws.com
mobman02
le 30/01/2005 à 20:41
mobman02
ca c'est l'erreur classique,
je pari que tu est en local,
et que tu na pas de serveur mail installer.

Installe Hamster, c'est un excellent serveur mail.
http://damienalexandre.fr/
Isaac
le 30/01/2005 à 20:42
Isaac
OK !

Où dois-je le télécharger ? C'est gros ? ça peut aller sur une clef USB ?

++
http://www.zmws.com
Répondre
LoadingChargement en cours