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.
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.
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.
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?
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 ?
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
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.
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
É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 ?
il est possible de contourner le smtp dans phpmailer notamment en utilisant
à la place de
Code : Sélectionner tout - Visualiser dans une fenêtre à part $mail->isMail();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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $mail->isSMTP();
merci c'est tout ce que je demande
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 ?
je souhaite uniquement que l'on me fasse découvrir un code qui fonctionne avec isMail().
merci
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...
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?
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.
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
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?
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");
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
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
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 ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager