Envoie de mail en php

Eléphanteau du PHP | 35 Messages

10 oct. 2016, 15:06

Bonjour à tous,

Je suis entrain de développer une application dans mon entreprise, chaque fois qu'il y a un nouveau enregistrement effectué dans une table, je dois recevoir une notification par mail. Lorsque j'utilise le serveur de gmail,les mails me parviennent sans aucun problème s'il y a enregistrement. Compte tenu qu'on utilise une messagerie interne, j'aimerais éviter de passer par gmail et utiliser notre serveur de messagerie. Voici le script d'envoie de mail que j'ai impléméntée:

Code : Tout sélectionner

include "classes/class.phpmailer.php"; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug=1; $mail->SMTPAuth = true; $mail->Host = "smtp.10.102.247.58"; $mail->Port = 25; $mail->SMTPSecure = 'ssl'; $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"; echo '<script type="text/javascript">alert("Matériel enregistré");</script>'; echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="listeMaterielAgence.php"</SCRIPT>';
Mais avec ce script, si j'effectue un enregistrement, je reçois ce message d'eereur:

Code : Tout sélectionner

SMTP Error: Could not connect to SMTP host. Message was not sent PHPMailer Error: SMTP Error: Could not connect to SMTP host.
Quelqu'un pourrait m'apporter son aide et savoir ce qui ne fonctionne pas correctement.
Merci à vous.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 oct. 2016, 15:13

Bonjour,
$mail->Host = "smtp.10.102.247.58";
L'ereur vient de là, il faut que tu indiques ton serveur SMTP.
Soit c'est une adresse IP et donc il n'y a pas "smtp." devant, soit c'est un nom de domaine et donc tu ne dois pas avoir l'IP à la fin
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 35 Messages

10 oct. 2016, 15:23

J'ai essayé ce que tu viens de mentionner,mais le message d'erreur reste le meme.
Pour info,l'adresse IP que j'ai mis est l'adresse de mon serveur Exchange. Si c'est ainsi,ça pourrait etre la cause de cet echec??
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 oct. 2016, 15:33

Contacte ton admin système et demande lui l'adresse du serveur SMTP.

Pas sûr qu'Exchange gère le SMTP sans un paramétrage spécifique, mais seul ton admin système pourra te le confirmer.
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 oct. 2016, 15:37

salut,

vérifie aussi le port utilisé (25, 587, 465 ?)
a priori je dirais 465 vu que tu indiques ssl.

dans host, comme l'inde @rthur il faut soit l'ip (a priori : 10.102.247.58) soit le ndd (genre smtp.taboite.ext).

pour info : https://fr.wikipedia.org/wiki/Simple_Ma ... r_Protocol

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 35 Messages

10 oct. 2016, 15:46

Le port que j'utilise actuellement est le port 25.J'ai contacté mon admin système,actuellement on ne dispose pas de serveur SMTP mais il m'a dit que le serveur Exchange qu'on utilise supporte normalement le protocole SMTP. J'ai meme essayé ce que @moogli a signalé,en combinant smtp au nom de ma boite:smtp.bcb.bi; mais ça ne marche pas encore.
Auriez vous d'autres idées??

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 oct. 2016, 17:25

si ton sysadmin ne te fournit l'info on ne pas plus le faire, c'est a lui de voir la conf de son serveur exchange pour te donner ip + port + information d'authentification s'il y a lieu.
le port 25 c'ets le port par défaut non sécurisé, les "sécurisé" sont, par défaut 587 et 465 mais la encore ce ne sont que les port par défaut je ne peux pas savoir ce qui a court dans ton entreprise.

Bref reste le sysadmin qui gère le serveur exchange :-)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 35 Messages

10 oct. 2016, 17:30

Merci @moogli,je vais le contacter encore pour voir comment trouver la solution