Bonjour,

J'ai un problème pour envoyer un email avec la fonction mail() de PHP.

Voici le message que j'obtiens en réponse sur la page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Warning: mail() [function.mail]: Failed to connect to mailserver at "ssl://smtp.gmail.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\EasyPHP 2.0b1\www\EnVerre03\email.php on line 16
Votre message n'a pas pu être envoyé

Voici mon script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<?php
 
$destinataire = 'unemail@gmail.com';
// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
$expediteur = 'monemail@gmail.com';
$copie = 'monautreemail@yahoo.fr';
$copie_cachee = 'copie_email@yahoo.fr';
$objet = 'Test'; // Objet du message
$headers  = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
$headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n"; // Expediteur
$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
$headers .= 'Cc: '.$copie."\n"; // Copie Cc
$headers .= 'Bcc: '.$copie_cachee."\n\n"; // Copie cachée Bcc        
$message = 'Un Bonjour de Developpez.com!';
if (mail($destinataire, $objet, $message, $headers)) // Envoi du message
{
    echo 'Votre message a bien été envoyé ';
}
else // Non envoyé
{
    echo "Votre message n'a pas pu être envoyé";
}
 
?>
Et là une partie de mon php.ini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
[mail function]
; For Win32 only.
SMTP = "ssl://smtp.gmail.com"
smtp_port = 25
 
; For Win32 only.
sendmail_from = monemail@gmail.com


J'avais également essayé avec phpmailer en utilisant ce script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
require("class.phpmailer.php");
 
$mail = new PHPMailer();
 
$mail->IsSMTP();                                      // set mailer to use SMTP
$mail->Host = "smtp.gmail.com";  // specify main and backup server
$mail->SMTPAuth = true;     // turn on SMTP authentication
$mail->Username = "monemail@gmail.com";  // SMTP username
$mail->Password = "password"; // SMTP password
 
$mail->From = "monemail@gmail.com";
$mail->FromName = "Mailer";
$mail->AddAddress("monemail@gmail.com");                  // name is optional
$mail->AddReplyTo("monemail@gmail.com", "Information");
 
$mail->WordWrap = 50;                                 // set word wrap to 50 characters
$mail->AddAttachment("/var/tmp/file.tar.gz");         // add attachments
$mail->AddAttachment("/tmp/image.jpg", "new.jpg");    // optional name
$mail->IsHTML(true);                                  // set email format to HTML
 
$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
 
if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}
 
echo "Message has been sent";
dans mon "C:\Program Files\EasyPHP 2.0b1\php5\PEAR" se trouvent :
go-pear.phar, class.pop3.php, class.smtp.php, class.phpmailer.php, phpmailer.lang-fr.php, phpmailer.lang-en.php

et mon php.ini contenait également :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
; Windows: "\path1;\path2"
include_path = ".;${path}\php5\pear\"
Mais aucune de ces configurations ne m'a permis d'envoyer l'email.

Pourriez-vous me dire d'où vient le problème ?

Merci par avance