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 de mail en php


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 36
    Par défaut envoi de mail en php
    Bonsoir

    voila j'ai essayé en me basant sur des tuto que j'ai trouvé sur le net
    d'envoyer un mail en php a partir de mon serveur local (wamp)
    sans succées, il me sors toujours :
    "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:\wamp\www\mmail\send_email.php on line 159"

    ce que j'arrive pas a comprendre, c'est quelle sera l'adresse de l'expéditeur lorseque le destinataire recevra le mail?

    merci de bien vouloir m'aider

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quand tu travailles sur ton poste local, tu peux configurer PHP avec le serveur smtp de ton fournisseur d'accès dans le php.ini à smtp_port.

    L'expediteur est soit celui qui est indiqué dans le php.ini soit celui que tu mets dans l'en-tête FROM: de ton mail.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut!

    Esque t'as un serveur mail sur ton PC (local) ?
    T'utilise quoi comme protocole (POP, IMAP) ?

    Je vien d'apprendre comment envoyer des emails avec PHP, donc je pense pouvoir t'aider

    ++

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Quand tu travailles sur ton poste local, tu peux configurer PHP avec le serveur smtp de ton fournisseur d'accès dans le php.ini à smtp_port.

    Bonjour je voudrais rebondir sur cela. Je suis un buse débutant en php mais je me soigne.
    Je m'attaque à votre tuto sur l'envoi de mail par php que j'ai à peu près compris (bravo pour le sens didactique). Cependant je bute sur le préambule ou il est noté qu'il faut modifier le fichier php.ini sur le serveur. Là je dubite grave :
    Le serveur c'est bien mon hébergeur? Donc pas question d'y changer quoique ce soit... Donc que faire pour le Smtp?

    Merci!

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Toutafé : ton hebergeur a en principe déjà tout configuré pour toi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Toutafé : ton hebergeur a en principe déjà tout configuré pour toi.
    Ok merci!

    Mais donc dans quelle situation doit-on faire la manip? (question facultative)

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    quand quelqu'un ne l'a pas fait pour toi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Deux petites questions:
    Dans le tuto de l'envoi d'un mail, donc, dans le code final, il est indiqué
    <form action="index.php" method="post">
    Or un peu plus haut on parlait d'un fichier
    send_email.php
    . Ai-je raté un épisode ou c'est le même fichier qui a changé de nom en route? auquel cas cela veut dire que dans cette exemple on se sert d'un seul fichier et non de deux (celui ou est le formulaire et celui ou sont traités les données du formulaire)?

    Ensuite je saisi pas ceci :
    /* Récupération des valeurs des champs du formulaire */
    if (get_magic_quotes_gpc())
    {
    $civilite = stripslashes($_POST['civilite']);
    $nom = stripslashes($_POST['nom']);
    $expediteur = stripslashes($_POST['email']);
    $sujet = stripslashes($_POST['sujet']);
    $message = stripslashes($_POST['message']);
    }
    else
    {
    $civilite = $_POST['civilite'];
    $nom = $_POST['nom'];
    $expediteur = $_POST['email'];
    $sujet = $_POST['sujet'];
    $message = $_POST['message'];
    A quoi sert cette fonction? de plus en lisant la doc, j'ai vu qu'elle était obsolète...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    J'ai testé avec presque 100% de succès l'envoi de mail.
    Je n'ai toujours pas compris la fonction
    if (get_magic_quotes_gpc())
    mais ça n'empêche pas le script de fonctionner.
    Par contre je me bats (et je perds ) avec le header. J'aimerai que le mail reçu contienne toujours le même header du genre "Mail envoyé par Xxxx" (différent du sujet).

    Je m'attaque donc cette partie du code :
    /* En-têtes de l'e-mail */
    $headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
    que je transforme en
    /* En-têtes de l'e-mail */
    $headers = 'From: 'Mail envoyé par Xxxx';
    Or ça me revoit dans le mail reçu :
    Mail envoyé par Xxxx@yahoo.com

    D'où vient ce "yahoo.com" ??

    Je rame sur ce détail...
    D'avance merci.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Les magic_quotes sont effectivement obsolètes mais néanmoins actifs sur de nombreux serveurs.
    La fonction sert à en éliminer les effets.

    L'en-tête FROM n'est pas un champ libre ; il y a des syntaxes définies.
    De plus il sert a indiquer l'email/nom de l'envoyeur et pas du blabla.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message

    L'en-tête FROM n'est pas un champ libre ; il y a des syntaxes définies.
    De plus il sert a indiquer l'email/nom de l'envoyeur et pas du blabla.
    Soit, mais auparavant dans un autre script, j'avais réussi à "personnaliser" l'en-tête From.
    Ainsi dans ma boite de réception, je savais de suite que ce mail a été posté depuis mon site web. L'adresse mail de l'auteur du mail apparaissant dans le corps du message.

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La partie personnalisable dans la syntaxe de ton exemple c'est $expediteur ; mais disons que c'est étrange d'écrire "ce mail a éyé envoyé par" dans un champ qui contient precisement cette information.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    La partie personnalisable dans la syntaxe de ton exemple c'est $expediteur ; mais disons que c'est étrange d'écrire "ce mail a éyé envoyé par" dans un champ qui contient precisement cette information.
    C'est pas tout à fait ça.
    J'ai un formulaire de contact sur le site abcde.fr. Quand qq'un poste un message sur ce formulaire (qui va arriver sur ma boite mail), je trouve pratique que l'en-tête (From) mentionne simplement un truc du genre : Mail posté depuis abcde.fr.

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Ca y est, j'ai pigé. C'est moi qui me suis emmêlé les pinceaux.

    Je bute sur un autre pb :
    Si je n'ajoute pas cette ligne :
    /* Sujet de l'email */
    $sujet = 'abcdexxx';
    J'ai une erreur lors de l'envoi du mail. Avec cette ligne le mail est bien envoyé mais bien sur le sujet du mail n'est pas celui renseigné par l'expéditeur.
    N'y aurait-il pas un manque au niveau de la récupération de la variable sujet, genre :
    $sujet = $_POST['sujet']
    ?
    (syntaxe non garantie...)

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as essayé et ça ne marche pas ou tu n'as pas osé essayer ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as essayé et ça ne marche pas ou tu n'as pas osé essayer ?
    J'ai essayé avec et sans l'ajout.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Bonjour et meilleurs voeux pour 2010!

    Je persévère et pense m'améliorer au contact de ce site et de ce script en particulier.

    J'arrive à le faire marcher excepté une petite ligne qui apparait une fois le mail envoyé :

    Warning: Cannot modify header information - headers already sent by (output started at /homez.47/xxxx/www/test.php:2) in /homez.47/xxxxx/www/test.php on line 83

    D'où cela peut il venir?

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ca veut dire que ligne 2 de ton script, il se passe quelque chose qui envoi du texte vers le navigateur.
    ca peut etre un espace, un message d'erreur, un retour à la ligne etc.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    ca veut dire que ligne 2 de ton script, il se passe quelque chose qui envoi du texte vers le navigateur.
    ca peut etre un espace, un message d'erreur, un retour à la ligne etc.
    Merci pour ta rapide réponse!
    L'erreur venait que j'avais laissé une ligne d'espace avant le début du script.

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

Discussions similaires

  1. [Mail] Spam et envoi e-mail avec PHP
    Par tomguiss dans le forum Langage
    Réponses: 36
    Dernier message: 21/12/2006, 15h06
  2. Cherche script d'envoi de mails en PHP
    Par tomchaz dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 30/05/2006, 15h30
  3. Réponses: 4
    Dernier message: 07/05/2006, 02h36
  4. Réponses: 4
    Dernier message: 30/04/2006, 12h40
  5. Probleme d'envois de mail serveur PHP/ASP
    Par oulahoup dans le forum ASP
    Réponses: 2
    Dernier message: 23/08/2005, 15h38

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