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 :

Problème avec PHPMailer


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut Problème avec PHPMailer
    Bonjour,

    dans PHPMailer je ne comprends pas le réglage de l'authentification SMTP, que sont:
    $mail->Username et $mail->Password?
    c'est l'adresse mail et le pass de QUI?l'envoyeur?le destinataire?de qui?

    merci encore de votre aide.

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 452
    Points : 43 099
    Points
    43 099
    Par défaut
    ben c'est le mot de passe d'authentification sur le serveur smtp. Ca correspondrait plutôt à l'adresse de l'émetteur car la plupart du temps, l'identifiant smtp est l'adresse mail de l'expéditeur.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    ben oui mais comment connaitre le pass de l'expediteur puisque phpmailer demande l'adresse ($mail->Username) ET le pass ($mail->Password)..?
    et de plus que signifie $mail->Host?c'est l'adresse du serveur smtp de l'expediteur (si oui comment le connaitre) ou du destinataire?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    En l’occurrence l'expéditeur, c'est toi.

    L'adresse d'expédition (celui qui envoi) est une information que seul l'auteur du script peut connaitre, c'est toi.

    tu es censé avoir un compte (adresse mail/mot de passe) sur un serveur SMTP et l'utiliser dans ton script pour qu'il envoi.

    Quel type d'hébergement est-ce ? du local ou un hébergeur ? quel sera l'adresse d'expédition de tes emails ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    je t'arrête tout de suite, il va falloir que je sois très clair dans mes mots pour me faire comprendre.

    je code un FORMULAIRE CLASSIQUE pour un site ou on demande à l'utilisateur d'entrer son mail:c'est donc lui l'expéditeur.
    il doit joindre aussi un cv qu'il faut envoyer au destinataire.
    on m'a dit que pour ça phpmailer était la solution parfaite.

    Donc qu'est ce que c'est que :
    1- $mail->Host
    2- $mail->Username
    3- $mail->Password

    je pensais moi que pour envoyer un mail avec phpmailer il ne fallait que deux informations l'adresse de l'expediant et celle du destinataire, merci de m'expliquer clairement ce que sont 1 puis 2 puis 3

    merci encore

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    Le fait que l'utilisateur de ton formulaire renseigne une adresse email n'en fait pas de lui l'expéditeur pour autant.
    L'utilisateur sera bien la personne qui remplira le formulaire, qui appuiera sur Envoyer, mais il ne sera pas l'expéditeur.

    L'expéditeur sera le serveur sur lequel le formulaire est hébergé et ce serveur utilisera un compte SMTP que TU lui aura donné en paramètre (Host, Username, Password).

    Par exemple si tu avais un compte SMTP sur gmail tu mettrai le serveur SMTP de gmail dans Host, puis ton adresse gmail dans Username et enfin ton pass dans Password.

    Si tu n'en as pas, rien ne t'empêche d'en créer un uniquement pour l'usage de ton formulaire.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    Ecoutez, j'ai mis pour les trois informations en question ici:
    l'adresse du serveur smtp de hotmail
    mon mail chez hotmail
    le pass du mail

    et bien effectivement mon mail chez hotmail devient bien l'expediteur du mail MAIS CE N EST PAS CE QUE JE VEUX JE VEUX QUE L EXPEDITEUR SOIT LE MAIL DE L UTILISATEUR QU IL ENTRE DANS LE FORMULAIRE COMMENT FAIRE AVEC PHPMAILER POUR QUE L EXPEDITEUR SOIT CE MAIL LÀ ET PAS UN AUTRE.HABITUELLEMENT LES FORMUALIRES SE CODENT COMME ÇA: IL EST FACILE DE FAIRE QUE L EXPEDITEUR SOIT LE MAIL DE L UTILISATEUR QU IL RENSEIGNE DANS LE FORMULAIRE POURQUOI NE SERAIT CE PAS POSSIBLE AVEC PHPMAILER?

    MERCI

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    Écrire en gras et en majuscule ne vous permettra pas plus de contourner les sécurités SMTP (déjà suffisement faibles comme ça)...

    Bon alors je vais vous expliquer un peu plus en détail comment cela fonctionne :

    Votre email ne sera pas envoyé par PHPMailer, mais par un serveur SMTP.
    PHPMailer permet de transférer votre demande à un serveur SMTP via le protocole SMTP.
    Pour s'identifier au serveur SMTP, PHPMailer a besoin d'un Host, Username, Password (vous avez visiblement assimilé ce point en utilisant votre compte hotmail).

    Ensuite, on en vient à l'email à proprement parlé.
    Si vous mettez un header "From" (c'est l'expéditeur) qui diffère du domaine que gère le host que vous avez indiqué, il y a de forte chance que vous finirez en SPAM.
    Exemple : J'utilise votre formulaire, je suis toto@truc.com, on va donc demander à hotmail (le serveur SMTP) d'emettre en tant que truc.com.
    Si déjà il y a peu de chance que hotmail l'accepte, il y a encore moins de chance que le serveur du destinataire l'accepte aussi.

    En gros :
    Vous voulez que votre serveur lambda écrive sous l'identité d'un email qu'un visiteur lambda aura saisi et vous demandez en quoi ce ne serait pas possible ?

    Aimeriez vous que j'écrive en votre nom ? sans votre autorisation ?

    Imaginez juste que l'email ne soit pas le sien ou qu'il soit faux ou que sais-je encore...

    Pour pouvoir prétendre envoyer en mail en tant que pollux@gmail.com (ceci est un exemple) il faut se connecter au serveur SMTP de gmail avec le compte pollux@gmail.com et connaitre son mot de passe. Cela vous semble-t-il si invraisemblable ?

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    il est possible de contourner le smtp dans phpmailer notamment en utilisant

    à la place de simplement cela ne fonctionne pas quand je teste avec mon code, quelqu'un d'expérimenté sur phpmailer est t'il capable de me montrer un code avec $mail->isMail(); qui fonctionne?

    merci c'est tout ce que je demande

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    isMail précise à PHPMailer que la fonction mail de PHP doit être utilisée, ce qui revient à utiliser le paramétrage SMTP du php.ini.

    On utilise ça souvent pour les serveur SMTP locaux, est-ce votre cas ? Quel est votre environnement ?

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    je souhaite uniquement que l'on me fasse découvrir un code qui fonctionne avec isMail().

    merci

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    lol tu n'as rien compris à ce que je t'ai expliqué

    On ne peux pas écrire sous l'identité de quelqu'un d'autre sans passer en SPAM, c'est pour cela qu'il existe des outils comme dkim, ou les tests de reverse dns...

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    les spams et le reste ne m'interessent pas , je répète ma question:

    les createurs de phpmailer ont pensé cette solution de sorte que l'on puisse contourner l'authentification smtp en utilisant notamment $mail->isMail(); à la place de $mail->isSMTP();
    donc des codes de cette nature sont couramment employés dans le monde de la programmation PHP.
    existe t'il quelqu'un sur ce forum qui est capable de me montrer un code d'envoi de mail avec $mail->isMail(); qui fonctionne?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    Tu fais fausse route, tu ne comprend pas à quoi sert isMail.

    isSmtp va contacter un serveur SMTP distant (exemple hotmail)
    isMail va utiliser la fonction mail de PHP qui elle va contacter un serveur SMTP "local" (c'est pourquoi il n'y a pas d'identification), d'ou ma question : Quel est ton hébergement, en possèdes-tu un ?

    Dans les deux cas tu ne sera pas dispensé d'avoir un serveur SMTP.

    Et dans les deux cas, si tu envoi avec un émetteur qui n'est pas en adéquation avec le serveur SMTP (local ou distant) tu tombera en SPAM.

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    ok mon hebergement est gandi tout ce que je veux c'est utiliser phpmailer et que l'expediteur soit le mail que l'utilisateur rentre dans son formulaire, est ce possible ça?si oui merci de me montrer un code qui marche

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    j'enconclus donc que si l'adresse du serveur smtp est celle de hotmail (local ou distant peu importe) et si l'expediteur n'a pas une adresse mail hotmail le message ira en spam c'est ça?

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    C'est possible uniquement car le protocole SMTP est très permissif, mais tu passera en SPAM.

    Dans ce cas tu procède à une identification SMTP classique (tu l'as déjà réussi) via un compte à toi et tu mets dans le header from de ton email l'adresse de ton visiteur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->SetFrom("adressevisiteur@domainevisiteur.com", "Visiteur");

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    ce que je ne comprends pas c'est que si j'utilise issmtp et renseigne les trois informations relatives à smtp dont on a parlé et bien c'est ces infos qui sont l'expediteur et il devient alors impossible de parametrer le truc pour que l'expediteur soit le mail que rentre l'utilisateur dans le formulaire

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    je deviens dingue je ne comprends pas ta phrase
    "Dans ce cas tu procède à une identification SMTP classique (tu l'as déjà réussi) via un compte à toi et tu mets dans le header from de ton email l'adresse de ton visiteur.
    "
    montre moi du code au lieu d'employer des mots que je ne comprends pas merci

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Points : 144
    Points
    144
    Par défaut
    Tu deviens dingue car tu persistes à vouloir faire quelque chose qui ne marchera pas...

    Prenons ton problème autrement : tu prétend avoir déjà vu ce mode de fonctionnement, peux-tu me montrer ou ?

Discussions similaires

  1. Problème avec phpmailer boucle
    Par tidou95220 dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2011, 18h10
  2. problême avec PHPmailer
    Par sly_prod dans le forum Langage
    Réponses: 4
    Dernier message: 14/12/2009, 23h02
  3. Problème avec PHPMAILER
    Par GeantBioHazard dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2008, 10h36
  4. [PHPMailer] Problème avec phpmailer
    Par Arkoze dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 08/02/2007, 16h47
  5. [PHPMailer] problème avec la classe phpmailer
    Par sansouna24 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/04/2006, 16h51

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