IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi d'une variable texte vers adresse mail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut Envoi d'une variable texte vers adresse mail
    Bonjour,

    J'ai créé un petit site internet (xhtml css flash), je dispose d'une newsletter sur ce site assez classique avec:
    - un champ de texte (pour saisir l'adresse mail)
    - un bouton "envoyer"

    J'aimerai qu'a chaque fois qu'un visiteur saisisse son e-mail et valide le bouton "envoyer" je puisse recevoir ses informations sur ma boite mail.

    Voilà, donc j'ai plusieurs questions:
    - Est ce compliqué à mettre en place?
    - Auriez vous une piste à me donner ?

    Merci par avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 104
    Points : 95
    Points
    95
    Par défaut
    Bonjour,

    A première vue cela ne me semble pas bien compliqué.

    Il te faut déjà l'accès à un serveur smtp pour pouvoir effectuer l'envoie du mail.

    Ensuite à la validation de l'utilisateur, tu récupère son adresse, tu écris ton message dans une variable sous forme de chaine de caractère, du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $message = "Info utilisateur :\n - Nom : $nom\n - Prenom : $prenom";
    Ensuite tu insères ta variable dans le message du mail.

    voici comment faire pour envoyer un mail ( par un serveur smtp )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // envoi du mail
    		$mail = new PHPMailer();
    		$mail->IsSMTP();							// send via SMTP
    		$mail->Host = "adresse de ton serveur smtp";		// SMTP servers
    		$mail->SMTPAuth = false;					// turn on SMTP authentication
    		$mail->From     = $mail_emetteur;
    		$mail->FromName = $nom_emetteur;
    		$mail->AddAddress($mail_destinataire,$nom_destinataire);
    		$mail->WordWrap = 50;						// set word wrap
    		$mail->IsHTML(true);						// send as HTML
    		$mail->Subject  =  $titre; // titre de ton mail
    		$mail->Body 	= $message; // ton message
     
    		if(!$mail->Send()) $message_mail_erreur = "Erreur envoi mail : " . $mail->ErrorInfo; // envoi du mail
    Voila j'espère que cela te sera utile.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Merci pour ta réponse

    Oui j'ai déjà accès à un serveur smtp.
    Je vais tester cela

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2010
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    Salut,

    Citation Envoyé par proxichou Voir le message
    voici comment faire pour envoyer un mail ( par un serveur smtp )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // envoi du mail
    		$mail = new PHPMailer();
    		$mail->IsSMTP();							// send via SMTP
    		$mail->Host = "adresse de ton serveur smtp";		// SMTP servers
    		$mail->SMTPAuth = false;					// turn on SMTP authentication
    		$mail->From     = $mail_emetteur;
    		$mail->FromName = $nom_emetteur;
    		$mail->AddAddress($mail_destinataire,$nom_destinataire);
    		$mail->WordWrap = 50;						// set word wrap
    		$mail->IsHTML(true);						// send as HTML
    		$mail->Subject  =  $titre; // titre de ton mail
    		$mail->Body 	= $message; // ton message
     
    		if(!$mail->Send()) $message_mail_erreur = "Erreur envoi mail : " . $mail->ErrorInfo; // envoi du mail
    Voila j'espère que cela te sera utile.
    Ca ne marchera que si elle utilise PHPMailer.

    Si c'est pour ton site perso, que tu n'as pas 200mails par jour, etc , tu peux simplement utiliser la fonction mail() de php. Simple et suffisamment efficace.
    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
     
    <?php
     
         $mailContact = $_GET['adresse_contact']; // ou $_POST
         $to   = 'tonMail@example.com';
         $subject = 'le sujet';
         $message = 'Info utilisateur :'.$mailContact.'\n'; 
     
         //Les headers ne sont pas obligatoires, seulement c'est sympa d'avoir le 
        //reply-to et le From
         $headers = 'From: '. $mailContact . "\r\n" .
         'Reply-To: '.$mailContact ;
     
         if(mail($to, $subject, $message, $headers)) {
           echo 'Votre inscription est validée!';
         } else {
           echo 'Une erreur s'est produite lors de l'envoi du mail, veuillez essayer à nouveau.';
         }
     
    ?>
    Toutefois, au moins pour ta culture je t'invites quand même a aller faire un tour et voir comment marche PHPMailer

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Bonsoir,

    Bon désolée de relancer ce sujet mais depuis le temps je n'arrive toujours pas à envoyer de mail depuis mon formulaire de contact sur mon site web...

    Voici mon fichier envoi.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $TO = "mon adresse mail (je l'ai bien mise)";
    $subject="Message provenant de mon site web";
    $h  = "From: " . $TO;
     
    $message = "";
     
     
     
    mail($TO, $subject, $message, $h);
     
    Header("Location: http://www.monsite.fr/merci.html");
     
    ?>
    Alors je remplie mon formulaire HTML que je valide, je suis bien reversé vers la page merci.html mais par contre je ne reçois aucun mail...

    Je fais mes test sur mon hébergement ovh.
    En faisant des recherches sur google certaines personnes parlent d'un fichier php.ini à modifier, est ce que celui qui se trouve sur ovh doit etre modifier selon vous ???
    Est ce que l'utilisation de la fonction php mail() nécessite l'importation d'une bibliotheque ???

    C'est un bout de code tres tres court mais je commence à désesperer là...

    Merci par avance

    p.s: le site est hors ligne

  6. #6
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    Citation Envoyé par claire34 Voir le message

    Je fais mes test sur mon hébergement ovh.
    En faisant des recherches sur google certaines personnes parlent d'un fichier php.ini à modifier, est ce que celui qui se trouve sur ovh doit etre modifier selon vous ???
    tu recevras des mails via la fonction mail de php uniquement lorsque toute la chaine snmp ... sera correctement configurée. Chez ovh c'est le cas, et il n'y a pas de conf particulière à faire. (du moins pas dans le php.ini pour mon mutualisé.)

    Attention le fonctionnement d'une newsletter est plus compliqué que l'envoie d'un seul mail une seule fois.

    Aussi je te recommande d'utiliser une classe toute faite (de ton choix) parce qu'un jour tu auras envie d'envoyer des messages avec des pièces jointes ou des images intégrée dans le message du mail. Or la gestion des pièces jointes, c'est la croix et la bannière pour le faire à la main sans avoir une classe qui le fait pour toi.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Bonsoir et merci tout d'abord de m'avoir répondu.

    A l'heure actuelle je fais uniquement des tests avec un simple formulaire html comprenant 3 champs:
    - nom
    - email
    - message

    Ainsi qu'un bouton:
    - envoyer

    L'objectif étant de recevoir ne serait ce qu'un semblant de mail sur ma boite e-mail et pour l'instant c'est le néant...

    Je dispose également d'un hébergement dit "mutualisé" chez ovh et lorsque je test ce script (cf mon dernier message) rien ne se passe et je dois avouer que c'est très frustrant...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Désolée de relancer ce post mais si quelqu'un a une idée pour faire fonctionner un simple formulaire php je suis toute ouïe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $TO = "mon adresse mail (je l'ai bien mise)";
    $subject="Message provenant de mon site web";
    $h  = "From: " . $TO;
     
    $message = "";
     
     
     
    mail($TO, $subject, $message, $h);
     
    Header("Location: http://www.monsite.fr/merci.html");
     
    ?>
    Je suis redirigé vers la page web "merci.html" par contre je ne recois pas de mail .

    Merci par avance.

  9. #9
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    que vaut la variable SMTP dans ton fichier php.ini puisque tu travailles en local ? Si elle vaut localhost, change là par le smtp de ton fai

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    A l'heure actuelle je ne travaille pas en local mais sur mon hébergement ovh.
    Par ailleurs je n'ai pas de fichier php.ini visible sur ovh

  11. #11
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    es tu sure dans ce cas que ton hébergement permet l'utilisation de la fonction mail() ? Tu peux les contacter par mail pour savoir

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Certaine...

    Oui je vas les contacter quand même pour leur exposer mon problème parce que la je désespère.

    Merci

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 227
    Points : 65
    Points
    65
    Par défaut
    Problème résolu.

    Pour ce que ca interesse le code php était bien le bon, mais il y avait un problème avec ovh, ma boite d'envoi de mail était débordé, j'ai du la vider pour que ça puisse fonctionner.

    Voili voilou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/07/2014, 12h13
  2. Envoi d'une variable objet vers une autre page
    Par Klastar dans le forum jQuery
    Réponses: 13
    Dernier message: 07/06/2013, 14h53
  3. [XL-2003] Envoi d'une variable EXCEL vers un champ dans une BDD ACCESS ouverte
    Par Baloo84 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2012, 16h52
  4. Envoi d'une variable texte vers page web
    Par claire34 dans le forum Langage
    Réponses: 4
    Dernier message: 11/11/2010, 14h54
  5. Envoi d'une variable texte page web
    Par claire34 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/11/2010, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo