PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 30-03-2010 23:29:23

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

php.ini pour mail fuction ET envoie email par PHP

Bonjour,

Je vais envoyer un courriel aux utilisateurs qui sont remplit mon formulaire… sous le serveur Windows Server Web 2007.

Pour cela, il faut que je configure mon fichier php.ini.
Actuellement les valeurs [sendmail_from] et [sendmail_path] sont [no value].

En outre la valuer [Internal Sendmail Support for Windows] est [enabled]


Et voici ce qu’il y a dans le fichier :

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

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

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

Comment je peux configurer mon fichier php.ini pour mail fuction ?

Et voici mon code en php :

$var_civilite=$_POST["civilite"];

$var_nom=$_POST["nom"];
    //  Pour traiter les accents
          $var_nom= htmlspecialchars($var_nom, ENT_QUOTES);

$var_courriel=$_POST["courriel"];
    //  Pour traiter les accents
          $var_courriel= htmlspecialchars($var_courriel, ENT_QUOTES);
         
         
             

  If (!empty($var_email))
    {

$recipient = "info@toto.com";
$subject = "confirmation de votre engregistrement…" ;
$msg = "Bonjour \t$var_civilite \t$var_nom\n";
$msg .= "Courriel : \t$var_email\n";
$msg = "Merci de votre inscription sur notre liste d’envoi. Vous faites maintenant partie de ce vaste réseau\n\n";
$mailheaders = "From: toto.com<> \n";
}

mail($recipient, $subject, $msg, $mailheaders);

est ce que mon code en php est correct ?

Bonne soirée


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#2 31-03-2010 06:03:14

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : php.ini pour mail fuction ET envoie email par PHP

Ton php.ini est correct selon moi.
Car le from et autre peuvent être défini dans la fonction mail.

Pour ton code PHP tu devrais vérifier toutes les variables et non seulement $var_email.
Ensuite il semblerait que ton script soit une sorte d'inscription, alors pourquoi envoyer l'email toujours à "info@toto.com" plutôt qu'à la personne inscrite "$var_email" ?

Hors ligne

#3 09-04-2010 21:07:58

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : php.ini pour mail fuction ET envoie email par PHP

Salut xTG,



J'ai aussi essayé avec ce code suivant :

<?php
$username = "tototiti";
$password = "tatatete";
$POPserver = "111.111.1.1";
### php.ini's SMTP must correspond to this server
### and sendmail_from must be from this server (??)

$msg = POP_authenticate($username, $password, $POPserver);
if ($msg === FALSE) {
mail("toto@gmail.com", "test email", "1er ligne\nLine 2");
$msg = "mail a été envoyer.\r\n";
}
exit($msg);
?>

mais c'est toujours c'est le même message...


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

#4 10-04-2010 09:06:07

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : php.ini pour mail fuction ET envoie email par PHP

mais c'est toujours c'est le même message...

Même message d'erreur ? Quel est-il ?

Hors ligne

#5 16-04-2010 15:44:16

phpdos
Membre
Inscription : 22-12-2009
Messages : 72

Re : php.ini pour mail fuction ET envoie email par PHP

Ça marche après avoir installé phpmailer-1.71 sur mon site…

Voici la solution pour windows web server 2008 :

Mettre 2 class suivants  à la racine de votre site (pas à la racine de votre serveur) (en fait, vous pouvez les mettre où vous voulez, mais dans le répertoire de votre site :
class.phpmailer.php
class.smtp.php

Ainsi, vous avez installé phpmailer-1.71

Ensuite, intégrer le code suivant dans votre formulaire :

// Préparation du mail

require("class.phpmailer.php"); // class DE PHPMailler qui marche avec le class class.smtp.php
//  le chemin où se trouve votre class (exemple : ("nom_dossier/class.phpmailer.php");)

$mail = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP


$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Host = "111.111.1.1"; // votre serveur smtp exemple 111.111.1.1 ou smtp.toto.com
$mail->Username = "login";
$mail->Password = "motdepasse";
 
$mail->From = "votre_courriel@toto.com";


$mail->AddAddress = "son_courriel@otot.fr"; //
 
$mail->Subject = "Votre inscription bla bla";
$mail->Body = "Bonjour \n\nMerci de votre inscription sur notre liste d’envoi. \n\nAvec mes généreux remerciements.";
$mail->WordWrap = 50;
 
 
if(!$mail->Send())
{
   echo 'Nous éprouvons actuellement des difficultés. Veuillez réessayer plus tard.';
   echo 'Raison : ' . $mail->ErrorInfo;
}
else
{
   echo "<strong>Merci de votre inscription à notre liste";
}


Brave autiste
Cl... clown
Cl ? Cl ? Est-ce que j'ai une gueule de clowns ?
                  @*|*@

Hors ligne

Pied de page des forums