[PHP] e-mail

Discussion dans 'Web, design' créé par Rave, 16 Juillet 2007.

Statut de la discussion:
Fermée.
  1. Offline
    Rave Fear the Mighty Panda !
    Bonjour,

    Voici mon problème : j'ai un formulaire avec des champs à remplir et j'aimerais pouvoir les envoyer sur un e-mail.

    Quelqu'un connaît-il un moyen simple de le faire (et quelques petites explications, je suis bien allé voir la fonction mail() sur php.net mais... je comprends rien :s)

    Merci :proud:
    Rave, 16 Juillet 2007
    #1
  2. Offline
    kokotchY Elite
    La doc de php est très clair.
    bool mail ( string $to, string $subject, string $message [, string $additional_headers [, string $additional_parameters]] )

    Ca s'utilise comme ca :
    mail(a qui, titre du mail, le message);
    Tu n'as normalement besoin que de ça pour envoyer un simple mail.
    kokotchY, 16 Juillet 2007
    #2
  3. Offline
    Rave Fear the Mighty Panda !
    Rave, 17 Juillet 2007
    #3
  4. Offline
    DeScH AstaLaVista
    tu t'en es sorti finalement pour ton script?
    DeScH, 17 Juillet 2007
    #4
  5. Offline
    Rave Fear the Mighty Panda !
    En fait, ça le met bien dans ma base de données, mais pour ce qui est de l'envoi réel du mail, voici l'erreur qui m'est retournée :

    Warning: 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 c:\program files\easyphp1-8\www\v15\contact.php on line 67
    Rave, 17 Juillet 2007
    #5
  6. Offline
    Rave Fear the Mighty Panda !
    Un petit peu d'aide ? :-(
    Rave, 18 Juillet 2007
    #6
  7. Offline
    DeScH AstaLaVista
    je t'ai envoyé un mail ;)
    DeScH, 18 Juillet 2007
    #7
  8. Offline
    KAMI spim spam spoum
    Code:
    ini_set('SMTP','le provider'); exemple ==> relay.skynet.be
    ini_set("sendmail_from", "l'adresse mail de l'expéditeur");
    
    Ces 2 lignes sont à placer avant la fonction mail();
    Normalement avec ça tu devrais y arriver.
    KAMI, 18 Juillet 2007
    #8
  9. Offline
    kokotchY Elite
    C'est peut-être mieux de le mettre dans la config de php.
    Comme ca, faut pas mettre de htaccess partout !
    kokotchY, 20 Juillet 2007
    #9
  10. Offline
    Rave Fear the Mighty Panda !
    Je suis chez One.com et je viens de mettre le site en ligne.

    Maintenant, j'ai des autres problèmes : ma base de données MySql ne se met pas à jour (j'ai vérifié, j'ai exporté ma base sur le PHPMyAdmin de l'hébergeur et cela ne fonctionne pas... mais en local, tout fonctionne...)

    Je ne reçois toujours pas d'e-mails non plus du formulaire présent sur mon site.

    NEED BACKUP lol
    Rave, 20 Juillet 2007
    #10
  11. Offline
    DeScH AstaLaVista
    comment tu veux qu'on taide comme ca... :]

    Balance ta requete et ta fonction mail() deja pour voir :)
    DeScH, 21 Juillet 2007
    #11
  12. Offline
    Rave Fear the Mighty Panda !
    Voici mon code PHP :

    <?php
    $host= "localhost";
    $username =":cool:_:cool:_:cool:";
    $pass="1234";
    $db=":cool:_:cool:";
    $connection = mysql_connect($host,$username,$pass) or die(mysql_error("Erreur 404, le server ne répond pas"));
    mysql_select_db($db);

    if(isset($_POST['cmdok']))
    {

    if (!empty($_POST['txtnom']) AND !empty($_POST['txtprenom']) AND !empty($_POST['txtmail']) AND !empty($_POST['txtmsg']) AND !empty($_POST['txtsujet'])){


    $nom = $_POST['txtnom'];
    $prenom = $_POST['txtprenom'];
    $mail = $_POST['txtmail'];
    $msg = $_POST['txtmsg'];
    $sujet = $_POST['txtsujet'];
    mysql_query("INSERT INTO bdd (nom, prenom, mail, sujet, msg) VALUES ('$nom', '$prenom','$mail', '$sujet', '$msg')");
    echo "<span class=\"orange\">Message envoyé avec succès.</span>";

    // Envoi du mail
    $to = ':cool:.:cool:@gmail.com';

    // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // En-têtes additionnels
    $headers .= 'To: Gilles <:cool:.:cool:@gmail.com>' . "\r\n";
    $headers .= 'From: $mail' . "\r\n";
    $headers .= 'Cc: $mail' . "\r\n";
    $headers .= 'Bcc: $mail' . "\r\n";

    mail($to, $sujet, $msg, $headers);
    }
    else
    {
    exit("Complétez les champs");
    }
    }
    ?>
    Rave, 21 Juillet 2007
    #12
  13. Offline
    spinerz Touriste
    J'avais fait un formulaire et il fonctionne très bien : )


    [ code html ( contact.html ) ]

    Code:
     <FORM  method="POST" action="contact.php">
      
      <tr class="police">
        <td>* Subject</td>
    
    	<td><input type="text" name="sujet" /></td>
      </tr>
      
        <tr class="police">
        <td>* E-mail Adress </td>
    	<td><input type="text" name="email" /></td>
      </tr>
    	
     
      
        <tr class="police">
        <td>* Comments</td>
    
    	<td><textarea name="COMMENTS"></textarea></td>
      </tr><tr><td><center><INPUT type="submit" value="Send"></center></tr>
      </FORM>
    
    [ code php ( contact.php ) ]

    Code:
    <?php
    
    $msg = "Sujet:\t$sujet\n";
    $msg .= "email:\t$email\n";
    $msg .= "comments:\t$COMMENTS\n";
    
    
    $recipient = "ton@adresse.email";
    $subject = "sujet";
    
    $mailheaders = "From: contacts <> \n";
    $mailheaders .= "Reply-To: $sender_email\n\n";
    
    mail($recipient, $subject, $msg, $mailheaders);
    
    
    
    ?>
    
    
    spinerz, 22 Juillet 2007
    #13
  14. Offline
    Rave Fear the Mighty Panda !
    Merci, tout le problème est réglé :p :cool:

    C'est tout zoli maintenant.
    Rave, 22 Juillet 2007
    #14
Statut de la discussion:
Fermée.