Envoi de mail en PHP

bonjour,
J'ai des problèmes pour envoyer un mail.
J'ai fait
<?
$to = "taslimanka@hotmail.com";
$sujet = "Mon sujet";
$message = "Mon message";
mail($to, $sujet, $message);
?>
ensuite j'ai essayé de le tester quand je suis arrivé sur internet mais ça ne marche pas.Internet Explorer me signale une erreur.
Veuillez m'aider.
Merçi.

7 réponses

  1. n'y a t il pas besoin comme en ASP d'un composant mail pour faire ce genre de choses?

    LMCT

    j'ai touché le fond
    maintenant je creuse
    1. En fait mon vrai code est le suivant:

      <?
      // Définition des paramètres du message
      $adresse = "mohamedsylla@yahoo.fr " ;
      $sujet = " Envoi de message " ;
      $message = " Ceci est un message envoyé avec PHP " ;
      $headers = "From: expediteur1@adr3.com\r\nReply-To: expediteur1@adr3.com " ;

      // Envoi du message
      if (mail($adresse, $sujet, $message, $headers)) {
      echo " Message envoyé avec succès à $adresse " ;
      } else {
      echo " L'envoi du message à $adresse a échoué " ;
      }
      ?>

      Je reçois comme message d'erreur:

      Warning: Failed to Connect in c:\program files\easyphp\www\envoi_mail.php on line 9
      L'envoi du message à mohamedsylla@yahoo.fr a échoué

      quel est la solution.Merci d'avance
  2. Sylla, as-tu spécifié l'adresse du smtp de ton fai dans le php.ini d'EasyPhp ?

    .:: TaBou JuNioR ::.
    J'ai des questions à toutes vos réponses. [W. Allen]
    1. Modérateur
      si tu es sur un serveur distant, vérifie que la fonction de mail est bien implentée, sinon il faut que tu spécifie a easyphp quel serveur de mail utiliser.
      ( citation de kalamit ds un post précédent )
      Sous Win, c'est tout con.
      Edite le fichier php.ini (attention : ton serveur php doit etre arreter).
      Trouve la ligne [mail function]. La ligne dessous te permet de choisir un serveur smtp, ce serveur peut etre le serveur smtp de wanadoo par exemple (smtp.wanadoo.fr). Ensuite, la ligne du dessous te permet de renseigner le champ from , tu y mets ce que tu veux.
      Et c'est tout ! Tu peux utiliser la fonction mail() à ton grés.

      Dohm qui vous bouleg tous
      1. merci dohm.
        Mais dans mon fichier php.ini il n' y a que les 2 lignes suivantes:

        ; php.ini for PEAR tests
        include_path=..
      2. J'ai trouvé aussi dans un fichier easyphp.ini les lignes suivantes:

        [EasyPhp]
        AutoStartServers=Y
        AutoStartEasyPhp=N
        AutoReloadConf=Y
        ExpertMode=N
        CheckVersion=N
        StartAsServices=N
        ShowAlways=N
        ExpandPos=1
        [MySql]
        MySqlArguments=--skip-name-resolve --language=french
        datadir=C:\Program Files\EasyPHP\mysql\data
        basedir=C:\Program Files\EasyPHP\mysql
        [System]
        Setupdir=C:\Program Files\EasyPHP
        Windir=C:\WINNT
        Systemdir=C:\WINNT\System32
      3. Salut,
        Quel est ton hebergeur ? Es tu sur que la fonction mail est autorisé ?
        Le fichier php.ini avec deux lignes, c'est pas trop possible... :) Et EasyPHP.ini, c'est autre chose ! :)
        Dans ton fichier php.ini, il te faut parametrer le serveur smtp qui va envyer le mail.

        Kalamit,
        Pouet à ses heures... :o)
      4. Slt Dohm.
        j'ai vu le fichier php.ini Il était dans le repertoire WINNT.
        En desous de la fonction mail j'ai mis comme tu as dit
        smtp.wanadoo.fr
        J'ai fait:

        ....
        [mail function]
        SMTP = smtp.wanadoo.fr ;for win32 only
        sendmail_from = taslimanka@hotmail.com ;for win32 only
        .......

        mais j'ai le message suivant de la part de Internet Explorer:

        Warning: Server Error in c:\program files\easyphp\www\mail1.php on line 7
        L'envoi du message à taslimanka@hotmail.com a échoué .

        Je rappel que mon programme php est le suivant:

        <?
        $adresse = "taslimanka@hotmail.com" ;
        $sujet = " Envoi de message " ;
        $message = " Ceci est un message envoyé avec PHP " ;

        // Envoi du message
        if (mail($adresse,$sujet,$message))
        echo " Message envoyé avec succès à $adresse " ;
        else
        echo " L'envoi du message à $adresse a échoué " ;
        ?>
    2. Et Comment paramétrer le serveur smtp qui va envoyer le mail?
      Merci d'avance.
      1. Et c'est tout à fait normal car malgré la mise en place d'un SMTP
        Wanadoo ouy autre, il y a à l'envoi du Mail une erreur d'authentification !
        Logique, c'est une question de sécurité, sinon n'importe qui enverrai des Mail depuis n'importe quel SMTP ou provider -
        La seule solution est de mettre un serveur de Mail sur ta bécane !
        1. la solution est surtout de tester ton script sur un serveur qui accepte la fonction mail, et a ce moment la plus besoin de te prendre la tete avec la configuration d'EasyPHP...

          Moi aussi je teste tout sur EasyPHP mais quand il y as des bugs dans le genre, vu que mon site est destiné a fonctionner sur le net et pas sur mon ordi, je teste directemement sur mon serveur...

          Sinon je te déconseille de tester tes scripts sur Free, car il y as pas mal de fonctions de base qui ont été supprimés alors qu'ils marchent sous apache, par exemple la fonction mail() n'est pas activée, mais je peu par contre te garantir que ton code fonctionne vu que j'utilise a peu pres la meme syntaxe dans mon site pour l'envoie de mails...

          Sur ce, bonne programmation, et j'espere que mes conseils t'apporteron de l'aide.

          WhiteDwarf
          ---------------------
          www.laxis.net
          ---------------------