Envoie de mail en local avec PHPMailer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoie de mail en local avec PHPMailer

Re: Envoie de mail en local avec PHPMailer

par moogli » 21 oct. 2016, 09:53

fait un petit effort et regarde la doc tu n'as quand même pas 200 lignes de conf pour utiliser cette classe

peut être que cette ligne est parlante non ? $mail->SMTPAuth = true;

ensuite la personne en charge du serveur smtp doit être à même de te fournir la conf complète pour ce connecter
- utilisateur / mot de passe
- port http
- type authentification
- type de securité

@+

Re: Envoie de mail en local avec PHPMailer

par ArnaudYeha » 20 oct. 2016, 15:56

Maintenant je viens de décocher le chiffrement 'tls' sur mon SMTP et j'ai enlevé $mail->SMTPSecure = 'tls';
Je reçois cette rreur:
SMTP -> ERROR: AUTH not accepted from server: 504 5.7.4 Unrecognized authentication type
Une autre idée par rapport à celà??

Re: Envoie de mail en local avec PHPMailer

par sylvaing26 » 20 oct. 2016, 15:48

Dans la config de ton programme tu as configuré une connexion sécurisée $mail->SMTPSecure = 'tls';
A priori ton serveur SMTP ne l'est pas et rejette la connexion sécurisée

Re: Envoie de mail en local avec PHPMailer

par ArnaudYeha » 20 oct. 2016, 15:42

@moogli, en mettant ce que tu viens de me dire je reçois cette rreur:
SMTP -> ERROR: STARTTLS not accepted from server: 554 5.7.3 Unable to initialize security subsystem
Qu'est-ce que tu en penses??

Re: Envoie de mail en local avec PHPMailer

par moogli » 20 oct. 2016, 15:13

salut,

$mail->Host = "ip du smtp"; ?

Re: Envoie de mail en local avec PHPMailer

par ArnaudYeha » 20 oct. 2016, 15:02

Bonjour,
Parmi les 3 possibilités que tu viens de me proposer; on a fait la troisième possibilité avec mon admin système
"- si il a déjà déclaré le domaine/IP sur un DNS en local sur votre réseau, alors il faut qu'il te donne l'IP du serveur local de résolution DNS et que tu modifies la conf de ton serveur pour qu'il utilise ce serveur de résolution DNS". Maintenant je dispose de cette adresse IP; à quel niveau je dois mettre cette IP pour la configuration du SMTP??

Re: Envoie de mail en local avec PHPMailer

par @rthur » 20 oct. 2016, 12:47

Bonjour,
La raison de ce message d'erreur est que le serveur smtp.bcb.local n'est pas connu par ton serveur quand il interroge le DNS.

En clair, pour qu'un nom de domaine fonctionne sur internet, il faut qu'il soit déclaré dans le système DNS, qui est en gros une énorme table de correspondance entre entre nom de domaine et adresse
Par exemple : phpfrance.com <=> 217.70.180.131

Dans ton cas, le serveur SMTP que tu as indiqué n'est pas déclaré au niveau DNS et donc ton serveur ne sait pas quelle IP il doit contacter

3 possibilités à voir avec ton admin réseau celle qu'il préfère :
- qu'il déclare le domaine/IP du serveur SMTP sur les DNS publique
- si il a déjà déclaré le domaine/IP sur un DNS en local sur votre réseau, alors il faut qu'il te donne l'IP du serveur local de résolution DNS et que tu modifies la conf de ton serveur pour qu'il utilise ce serveur de résolution DNS. Sur les serveurs Debian, l'IP du résolveurs DNS est à modifier dans le fichier : /etc/resolv.conf
- et enfin une autre solution est de mettre en dur sur ton serveur la correspondance Nom de domaine du SMTP <=> IP en l'ajoutant dans le fichier /etc/hosts

Re: Envoie de mail en local avec PHPMailer

par ArnaudYeha » 20 oct. 2016, 11:57

J'ai fait ce que tu viens de me dire mais ça ne marche pas. Je pense qu'il y aurait un petit souci sur mon serveur SMTP. en effet j'ai effectué un ping smtp.gmail.com et j'ai une réponse.Mais lorsque je fais ping smtp.bcb.local, j'ai pas de réponse; c'est pour celà que mon application ne se connecte pas car elle ne trouve pas ce serveur. Mais le souci est que je ne vois pas la cause cde ce problème. Aurais-tu une idée par rapport à cela @sylvaing26

Re: Envoie de mail en local avec PHPMailer

par sylvaing26 » 20 oct. 2016, 11:33

Et est-ce que lorsque tu mets ton application sur ton serveur qui contient le SMTP, si tu lui mets juste localhost ça marche ?

Re: Envoie de mail en local avec PHPMailer

par ArnaudYeha » 19 oct. 2016, 15:51

Salut @sylvaing26;
J'ai consulté le lien que tu m'as envoyé et j'ai intégré la petite modification de l'espace mais ça ne marche pas, l'erreur reste la même.On dirait que je ne parviens pas à accéder sur le serveur qui héberge le SMTP.J'ai même essayé de mettre mon application sur ce serveur qui contient le SMTP mais sans résultat.
Je continue à chercher mais vraiment ça me cause du souci.

Re: Envoie de mail en local avec PHPMailer

par sylvaing26 » 19 oct. 2016, 13:22

Salut,
dans le tuto, le serveur SMTP est sur le port 587. Es-tu bien paramétré sur le bon port ?
J'ai aussi trouvé ça sur la toile https://www.drupal.org/node/1706468
A priori, pour certains, ça marche après avoir mis un espace avant le nom du serveur
Donc peut être qu'en mettant $mail->Host = " smtp.bcb.local"; ça marchera
Bon courage !

Envoie de mail en local avec PHPMailer

par ArnaudYeha » 19 oct. 2016, 11:24

Bonjour à vous,
J'avais déjà exposé mon problème mais je reviens ici parce que ça fait plusieurs jours que je cherche sans aucune solution.
En effet, je dispose d'une application qui permet à ce que chaque fois qu'un enregistrement est effectué un mail doit etre envoyé. Le script d'envoie fonctionne si j'utilise le SMTP de Google. Comme c'est une application qu'on utilise dans mon entreprise, j'aimerais alors éviter de passer par Google. J'ai donc configuré mon serveur SMTP en local en suivant ce tuto:
http://intellitect.com/configuring-wind ... for-relay/
J'ai également intégré le serveur qui héberge mon application sur le même VLAN que mon serveur SMTP et le serveur d'envoie de mail Exchange. Voici alors mon script d'envoie de mail:

Code : Tout sélectionner

include "classes/class.phpmailer.php"; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug=1; $mail->Mailer = 'smtp'; $mail->SMTPAuth = true; $mail->Host = "smtp.bcb.local"; $mail->Port = 25; $mail->SMTPSecure = 'tls'; $mail->Username = "[email protected]"; $mail->Password = "**********"; $mail->IsHTML(true); $mail->SetFrom("[email protected]"); $mail->Subject ="Panne materiel signale"; $mail->Body ="Veuillez vous connecter a l'application BCB HelpDesk"; $mail->addAddress("[email protected]"); if(!$mail->Send()) echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo; else echo "Message has been sent";
En exécutant ce script, je rencontre cette erreur:

Code : Tout sélectionner

SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. (0)
Quelqu'un pourrait m'apporter son aide pour trouver une solution face à ce problème.
Merci à vous