Envoyer des mails depuis son site

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par gcvoiron, 25 Avril 2006.

  1. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Bonjour, je souhaite envoyer des mails de la partie administrateur de mon site à mes membres. J'ai trouvé ce CODE qui marche mais je n'arrive pas à changer l'expediteur (je voudrai mettre mon adresse).Sauriez-vous m'expliquer? Merci.

    Code:
    <?php
    // Dans la ligne qui suit, remplacer webmaster@domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés
    $email_webmaster = "$email_expediteur";
    // === traitement des données du formulaire ============================================================
    if (isset($_POST["envoyer"])){ 
    // le formulaire a été soumis
            $etat = "erreur"; 
    // Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur
    // --- mise en forme des champs saisis dans le formulaire lors de sa soumission ---
            if (isset($_POST["email_expediteur"])) {
                     $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"]));
            }
            if (isset($_POST["titre"])) {
                     $_POST["titre"]=trim(stripslashes($_POST["titre"]));
            }
            if (isset($_POST["message"])) {
                     $_POST["message"]=trim(stripslashes($_POST["message"]));
            }
            // --- test de la validité des champs saisis ---
            if (empty($_POST["email_expediteur"])) { 
    // il manque l'email de l'expéditeur
                     $erreur="Saisissez votre adresse email...";
            }
            elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){ 
    // l'adresse e-mail n'est pas valide
                     $erreur="Votre adresse e-mail n'est pas valide...";
            }
            elseif (empty($_POST["message"])) { 
    // le message est vide
                     $erreur="Saisissez un message...";
            }
            else { 
    // --- tous les champs sont correctement remplis: on pourra envoyer le mail ---
                     $etat="ok";
            }
    }
    else { 
    // --- le formulaire n'a pas été soumis ---
               $etat="attente";
    }
    // === fin de traitement des données du formulaire =======================================================
    ?>
                </p>
                  <blockquote>
                    <p>
                      <?php
    if ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur
             if ($etat=="erreur"){
    //le formulaire a été soumis avec une erreur
                             echo "<p><strong>".$erreur."</strong></p>\n"; 
    // afficher le message d'erreur
             }
    ?>
    </p>
                    <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
                      <p>
                        <label for="email_expediteur">Votre adresse e-mail (obligatoire):</label>
                        <br />
                        <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php
            if (!empty($_POST["email_expediteur"])) { 
    // l'adresse email de l'expéditeur a été saisie: la réafficher
                    echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES);
            }
            ?>" />
                      </p>
                      <p>
                        <label for="titre">Titre de message (facultatif):</label>
                        <br />
                        <input type="text" size="40" name="titre" id="titre" value="<?php
            if (!empty($_POST["titre"])) { 
    // le titre du message a été saisi: le réafficher
                    echo htmlspecialchars($_POST["titre"],ENT_QUOTES);
            }
            ?>" />
                      </p>
                      <p>
                        <label for="message">Message (obligatoire):</label>
                        <br />
                        <textarea name="message" id="message" cols="40" rows="5"><?php
            if (isset($_POST["message"])) { 
    // le message a été saisi: le réafficher
                    echo htmlspecialchars($_POST["message"],ENT_QUOTES);
            }
            ?>
                    </textarea>
                      </p>
                      <p>
                        <input type="submit" name="envoyer" value="Envoyer" />
                      </p>
                    </form>
                    <?php
    }
    else {
    // le formulaire a été soumis sans erreur, on envoie le mail
            $entete = "From: ".$_POST["monemail@monfournisseur.com"]." <".$_POST["email_expediteur"].">\n";
            $entete .= "MIME-Version: 1.0";
            if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){ 
    // mail envoyé
                    echo "Votre message a été envoyé.<br />\n";
                    echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n";
            }
            else { 
    // erreur lors de l'envoi du mail
                    echo "Un problème s'est produit lors de l'envoi du message.\n";
                    echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n";
            }
    }
    ?>
     
  2. dd32
    dd32 WRInaute accro
    Inscrit:
    9 Septembre 2005
    Messages:
    2 705
    J'aime reçus:
    0
    Code:
    $_POST["email_expediteur"]
    ça signifie que tu récupères l'email de l'expéditeur du formulaire qui appelle le script php par la méthode POST.

    Donc tu pourrais renseigner email expéditeur dans ton formulaire...
    en remplaçant :
    par :
    Bien évidemment tu remplaces monemail@monfai.com par ton email...
     
  3. gcvoiron
    gcvoiron WRInaute occasionnel
    Inscrit:
    19 Octobre 2005
    Messages:
    459
    J'aime reçus:
    0
    Merci, ça marche nikel!
     
Chargement...
Similar Threads - Envoyer mails Forum Date
Envoyer des mails de comptes différents Développement d'un site Web ou d'une appli mobile 3 Avril 2014
Gmail permet à vos contacts Google+ de vous envoyer des mails Google+ 10 Janvier 2014
Un SPF pour autoriser smtp.free.fr à envoyer des e-mails Administration d'un site Web 18 Janvier 2013
envoyer des emails à mes membres Développement d'un site Web ou d'une appli mobile 24 Novembre 2012
Envoyer des emails vers des SMS ? (je suis chez free mobile..) Administration d'un site Web 14 Mai 2012
Newsletter : script pour envoyer à 60,000 emails Administration d'un site Web 27 Avril 2012
Envoyer des e-mails cryptés Développement d'un site Web ou d'une appli mobile 4 Juin 2009
Envoyer des mails à partir d'un autre serveur ? Administration d'un site Web 6 Janvier 2008
Problème pour envoyer des emails avec mail() Développement d'un site Web ou d'une appli mobile 3 Août 2007
Cherche à envoyer 20000 emails... Problèmes de référencement spécifiques à vos sites 10 Juillet 2006
Envoyer 20 000 emails Administration d'un site Web 6 Mai 2006
[Réglé]Comment envoyer des emails à mes clients Le café de WebRankInfo 22 Avril 2006
Envoyer des emails. Un logiciel? Problèmes de référencement spécifiques à vos sites 10 Novembre 2004
Morosité de café: J'arrive pas à envoyer un mail de newsletter. Administration d'un site Web 16 Février 2022
Envoyer un gone, avec un match sur un nom de parametre "variant" URL Rewriting et .htaccess 14 Octobre 2020
Envoyer un Rapport Analytic sans toutes les données Google Analytics 17 Janvier 2019
Envoyer un lien cliquable par mail à un ami Développement d'un site Web ou d'une appli mobile 29 Juillet 2018
Comment envoyer par email le contenu d'un formulaire ? Développement d'un site Web ou d'une appli mobile 23 Avril 2018
envoyer 10 000 email d'un coup Gmail, Google Talk, Blogger et Orkut 16 Septembre 2017
[Google Shopping] envoyer toutes les déclinaisons ? AdWords 2 Avril 2016