<!DOCTYPE html> <html lang="fr"> <head> <meta charset="ISO-8859-1" /> <title>On test la fonction mail()</title> <link rel="stylesheet" type="text/css" href="Styles.css" /> </head> <body> <?php $to = "Griggione < xxxxx@aol.com>"; $subject = "Test 2 !"; $message = "Voici un message envoyé depuis un script HTML/PHP avec le paramétrage de php.ini !"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: xxxxx@aol.com\n"; $headers .= "X-Mailer: PHP/" . phpversion() . "\n"; ?> <h1>Envoi d'un message vers l'adresse E-MAIL : <?php echo $to ?></h1> <?php $envoi = mail($to, $subject, $message, $headers); if ($envoi == true) echo "<br /><h1>L'email a été envoyé avec succès.</h1>"; else echo "<br /><h1>échec de l'envoi d'un email</h1>"; ?> </body> </html>Avec ce test tu sauras si ton message est bien arrivé dans ta boîte aux lettres.
Citation
Envoi d'un message vers l'adresse E-MAIL : griggione
Warning: mail(): SMTP server response: 553 5.7.1 <griggione@aol.com>: Sender address rejected: not logged in in D:\wamp\www\mail\mail.php on line 24
échec de l'envoi d'un email
Citation
Envoi d'un message vers l'adresse E-MAIL : griggione
Warning: mail(): SMTP server response: 553 5.7.1 <griggione@aol.com>: Sender address rejected: not logged in in D:\wamp\www\mail\mail.php on line 24
échec de l'envoi d'un email
$mail->SetLanguage('fr'); $mail->IsSMTP(); $mail->IsHTML = false; $mail->SMTPDebug = false; $mail->SMTPAuth = true; //Paramètres pour le serveur SMTP $mail->Host = "smtp_host_name"; // Par exemple 'mail.gandi.net' // En utilisant un SMTP authentifié (SMTPAuth = true) et selon // les FSI (Fournisseur de Services Internet) le port à utiliser // et le protocole associé peuvent être différents. // C'est le FSI qui donne les paramètres d'envoi par SMTP. $mail->Port = 25; //25 ou 587 ou '465 SSL' ou '995 TLS' //$mail->SMTPSecure = "tls"; // tls ou ssl $mail->Username = "toto@monsite.net"; // Nom utilisateur du serveur SMTP $mail->Password = "mon_mot_de_passe"; // Mot de passe associé $mail->From = "titi@monsite.net";// Adresse expéditeur $mail->FromName = "Administrateur du Forum"; // Nom expéditeur //Destinataire $mail->AddAddress("tutu@monsite.net", "Nom" // Peut être répété pour plusieurs destinataires //Caractéristiques du message $mail->CharSet = "utf-8"; $mail->Subject = $subject; $mail->Body = $message;Et il y a plein d'autres possibilités.
[mail function] ; For Win32 only. ; [php.net] SMTP = localhost ; [php.net] smtp_port = 25 ; For Win32 only. ; [php.net] sendmail_from = you@yourdomain
require_once('../inc/class.phpmailer.php'); //Avec le bon chemin $mail = new PHPMailer(); $mail->SetLanguage('fr'); $mail->IsSMTP(); $mail->IsHTML = false; $mail->SMTPDebug = false; $mail->SMTPAuth = true; //Paramètres pour le serveur SMTP $mail->Host = "smtp_host_name"; // Par exemple 'mail.gandi.net' // En utilisant un SMTP authentifié (SMTPAuth = true) et selon // les FSI (Fournisseur de Services Internet) le port à utiliser // et le protocole associé peuvent être différents. // C'est le FSI qui donne les paramètres d'envoi par SMTP. $mail->Port = 25; //25 ou 587 ou '465 SSL' ou '995 TLS' //$mail->SMTPSecure = "tls"; // tls ou ssl $mail->Username = "toto@monsite.net"; // Nom utilisateur du serveur SMTP $mail->Password = "mon_mot_de_passe"; // Mot de passe associé $mail->From = "titi@monsite.net";// Adresse expéditeur $mail->FromName = "Administrateur du Forum"; // Nom expéditeur //Destinataire $mail->AddAddress("tutu@monsite.net", "Nom" ); // Peut être répété pour plusieurs destinataires //Caractéristiques du message $mail->CharSet = "utf-8"; $mail->Subject = $subject; $mail->Body = $message; if(!$mail->Send()) echo "Erreur d'envoi ".$mail->ErrorInfo; else echo "PHPMailer : Message envoyé"; $mail->SmtpClose();
//Nettoyage du message $subject = trim(preg_replace('#[\n\r]+#s', '', $subject)); // CRLF à chaque fin de ligne et suppression des octets null $message = str_replace("\r", "\n", str_replace("\r\n", "\n", $message)) $message = str_replace(array("\n","\0","'","`" ), array("\r\n",'',"'","'" ), $message); // Remplacement d'un point (.) en début de ligne par deux points (..) $message = str_replace("\r\n.", "\r\n..", $message); $message = (substr($message,0,1) == '.' ? '.'.$message : $message);
[mail function] ; For Win32 only. ; [php.net] SMTP = smtp.neuf.fr ; [php.net] smtp_port = 25 ; For Win32 only. ; [php.net] sendmail_from = griggione@aol.com
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="ISO-8859-1" /> <title>On test la fonction mail()</title> <link rel="stylesheet" type="text/css" href="Styles.css" /> </head> <body> <?php ini_set("smtp", "smtp.neuf.fr" ini_set("smtp_port", 587); ini_set("sendmail_from", "Artemus <artemus@jcz.fr>" $to = "Griggione <griggione@aol.com>"; $subject = "Test !"; $message = "Voici un message envoyé depuis un script HTML/PHP !"; $headers = "MIME-Version: 1.0\n"; $headers .= "From: artemus@jcz.fr\n"; $headers .= "X-Mailer: PHP/" . phpversion() . "\n"; $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; ?> <h1>Envoi d'un message vers l'adresse E-MAIL : <?php echo $to ?></h1> <?php $envoi = mail($to, $subject, $message, $headers); if ($envoi == true) echo "<br /><h1>L'email a été envoyé avec succès.</h1>"; else echo "<br /><h1>échec de l'envoi d'un email</h1>"; ?> </body> </html>
[mail function] ; For Win32 only. ; [php.net] SMTP = smtp.neuf.fr ; [php.net] smtp_port = 25 ; For Win32 only. ; [php.net] sendmail_from = griggione@aol.com
Citation
Envoi d'un message vers l'adresse E-MAIL : griggione
L'email a été envoyé avec succès.
ini_set("smtp", "smtp.neuf.fr" ini_set("smtp_port", "587" ini_set("sendmail_from", "griggione <griggione@aol.com>"
Citation
Envoi d'un message vers l'adresse E-MAIL : griggione
Warning: mail(): Failed to connect to mailserver at "localhost" port 587, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\wamp\www\mail\mail.php on line 29
échec de l'envoi d'un email
Oui.Citation
griggione
> Dans le script qui doit envoyer le courriel et pour remplacer la fonction mail(), on met :
C'est là qu'est mon interrogation, je suppose que tu parles du script qu'on se sert sur le site en cours ?
if(!$phpmailer) mail(.... .... .... ); else { //Tout ce qui concerne l'envoi par PhpMailer }De cette manière, on peut revenir à la fonction mail() d'origine très facilement.