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 :

[Mail] Envoyer un e-mail à partir d'une certaine adresse e-mail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Points : 44
    Points
    44
    Par défaut [Mail] Envoyer un e-mail à partir d'une certaine adresse e-mail
    Bonjour !

    Alors, je suis conscient qu'il y a déjà pas mal de sujet ouvert sur l'envoi de mail en php, mais cependant, je n'ai pas pu trouver ce qu'il me fallait exactement.
    J'ai également regardé la fonction php mail(), mais je ne sais pas si elle est indiquée pour cela.

    Voilà mon cas :
    Je suis actuellement en stage dans une société où je met actuellement en place toute une base de données.
    Pour cela, j'ai utilisé wamp, qui est installé sur le serveur qui fait parti du réseau.
    La base de données créée contient entre autres des fiches client où il y a une adresse mail de contact.
    Ce qu'il faudrait en fait, ce serait un script qui envoi des mails à certaines personnes (ça, ça sera déterminé par une sélection dans mon code).
    Je voudrais en revanche pouvoir envoyer ce mail à partir d'une certaine adresse mail (et pas forcément l'adresse mail du fai).
    Est-ce possible ?

    Si ce n'est pas le cas, il me faudra alors utiliser la fonction mail, et pour cela j'ai lu la faq de developpez.
    Cependant, il y a une partie pourtant simple, que je n'arrive pas à configurer correctement (voici l'extrait de la faq) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ; pour windows
    smtp_port = 25 ;Valeur par défaut
     
    ; pour windows
    SMTP = smtp.monfai.fr
     
    ; pour windows
    sendmail_from = moi@monfai.fr ; Pas obligatoire
    Voilà voilà, pourriez-vous m'aider s'il vous plait ?
    Merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pour l'expediteur, oui c'est possible en modifiant le header de ton mail

    la conifg est correcte dans ton php.ini mais il faut vérifier si le serveur stmp que tu as mis peut être contacté.

    tu ouvres une console dos sur le serveur qui heberge le site et tu tapes la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    telnet smtp.tonprovider.com 25
    s'il répond -> c'est ok, sinon il faudrait demander à l'admin réseau quel serveur smtp peut-être utilisé.
    Dernière modification par Domi2 ; 15/03/2011 à 16h54.

  3. #3
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu définis le "FROM" dans les en-tête du mail.
    Basiquement le "FROM" peut être n'importe quelle adresse email.
    Réellement les hebergeurs restreignent parfois ce champ et dans ce cas il n'y a rien a faire.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Points : 44
    Points
    44
    Par défaut
    Merci beaucoup !

    Alors j'ai essayé de taper ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    telnet smtp.wanadoo.fr 25
    Et ça répond parfaitement.

    En fait, le problème ne venait pas du php.ini mais de la syntaxe que j'utilisais dans mon code.
    J'ai lu ceci : http://www.vulgarisation-informatique.com/mail.php

    Avec dans l'en-tête quelque chose de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $headers = 'From: <mon_adresse_mail>'."\n";
    Cela fonctionne correctement.

    Cependant, il me faudrait y associer un nom également.
    Mais là, je ne sais pas pourquoi mais cela ne fonctionne pas du tout avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $headers = 'From: "Jerou" <mjerou@gmail.com>'."\n";
    Cela me répond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mail() [function.mail]: SMTP server response: 501 Bad address syntax in C:\wamp\www\test_mail\index.php on line 17
    Une erreur de syntaxe surement non ?
    En revanche, je ne vois pas trop où en fait ...
    Vous auriez une idée ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    as-tu ajouté d'autres headers? est-ce bien la ligne 17?

    Peux-tu montrer l'entiereté du code?

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Points : 44
    Points
    44
    Par défaut
    Alors oui, il y a d'autres éléments dans le header, cependant, j'avais tenté de les mettre en commentaire, mais rien n'a changé, l'envoi ne part pas non plus.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $headers = 'From: "Mon_nom"<mon_adresse_mail>'."\n";
    $headers .='Reply-To: <une_autre_adresse_mail>'."\n";
    $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
    $headers .='Content-Transfer-Encoding: 8bit';
     
    if(mail('adresse_destinataire', 'Ici le sujet du message', 'Ici le message de test'."\n".'Ligne 2.', $headers)) {
    	echo 'Le message a bien été envoyé';
    }
    else {
    	echo 'Le message n\'a pu être envoyé';
    }
    J'ai donc, comme dit, essayer de ne laisser que la première ligne dans le header (que le From: ...), mais ça n'a pas fonctionné non plus.

  7. #7
    Invité
    Invité(e)
    Par défaut
    mmmh bizarre.

    Je viens de tester ton code est ça fonctionne de mon côté.

    Les mail est correctement envoyé avec l'expéditeur "nom"<@mail>

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 89
    Points : 44
    Points
    44
    Par défaut
    Ah ?
    Bizarre en effet ...
    J'ai ré-essayé à nouveau avec plusieurs syntaxe différente, mais rien n'y fait.

    Juste une petite note : Je ne sais pas si ça changera quelque chose ou pas mais la ligne 17 en question n'est pas vraiment la ligne qui causerait l'erreur.
    La ligne 17 est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'Le message a bien été envoyé';
    Ainsi cela m'amène à me demander, si ce n'est pas une histoire de guillemet tout ça ?
    Car en effet, c'est lorsque j'ajoute "Mon_nom" que ça ne fonctionne plus (quoique, j'ai essayé également de le mettre sans guillemet mais ça ne marche pas non plus)

  9. #9
    Invité
    Invité(e)
    Par défaut
    mmh ça a fonctionné avec le nom entre le guillemets chez moi. donc ça devrai fonctionner chez toi. tu n'as pas laissé un caractère quelque part?

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut fonction mail
    attention la fonction mail ne fonctionne pas en local et ne doit être utiliser que sur serveur distant, en local ce n'est pas possible !^^

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rblade Voir le message
    attention la fonction mail ne fonctionne pas en local et ne doit être utiliser que sur serveur distant, en local ce n'est pas possible !^^
    gni?!

  12. #12
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut re^^
    Je vois que tu as afficher ce message d'erreur :

    Warning: mail() [function.mail]: SMTP server response: 501 Bad address syntax in C:\wamp\www\test_mail\index.php on line 17

    Et je vois que l'erreur vient d'un fichier sur ton disque dur^^ hors je le répète la fonction mail() ne fonctionne pas en local j'utilse moi aussi la fonction mail mais quand je travail en local je suis obliger de le désactiver car comme je te l'ais dis cette fonction ne marche que si elle est utiliser sur un formulaire herberger par herbergeur donc sur un serveur distant^^

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rblade Voir le message
    Je vois que tu as afficher ce message d'erreur :

    Warning: mail() [function.mail]: SMTP server response: 501 Bad address syntax in C:\wamp\www\test_mail\index.php on line 17

    Et je vois que l'erreur vient d'un fichier sur ton disque dur^^ hors je le répète la fonction mail() ne fonctionne pas en local j'utilse moi aussi la fonction mail mais quand je travail en local je suis obliger de le désactiver car comme je te l'ais dis cette fonction ne marche que si elle est utiliser sur un formulaire herberger par herbergeur donc sur un serveur distant^^
    rblade,

    ça fonctionne parfaitement bien en utilisant avec wamp. il suffit de mettre le server smtp du provider dans le php.ini.

    D'ailleurs le warning indique que le server smtp répond et dit qu'il ya une erreur de syntaxe au niveau de l'adresse. Ce n'est donc pas un problème de connexion au serveur smtp.

  14. #14
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Autant pour moi^^
    C'est possible alors je ne connais pas wamp je tourne avec easyphp qui lui ne fonctionne pas avec mail() en local. Donc ba bonne chance alors :p

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/02/2010, 10h52
  2. Faire une copie automatique des mails envoyés sur un autre PC
    Par shubakas dans le forum Outlook Express / Windows Mail
    Réponses: 0
    Dernier message: 22/06/2009, 18h21
  3. je voudrai envoyé un email a partir d'une page asp
    Par hichamdeb dans le forum ASP
    Réponses: 3
    Dernier message: 30/04/2008, 22h16
  4. envoyer un fax a partir d'une appli access
    Par dricks dans le forum VBA Access
    Réponses: 0
    Dernier message: 30/08/2007, 10h41
  5. Réponses: 33
    Dernier message: 12/04/2006, 19h12

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