par
ionesco » 02 sept. 2013, 13:17
Bonjour,
J'ai une base de données de x utilisateurs. Je génère automatiquement leur mot de passe. Je souhaite leur communiquer via un formulaire et faire un envoi groupé. Je récupère les e-mails et codes et j'envoie l'e-mail à chacun. Mais je tombe sur un os et reçois ce message d'erreur que je ne parviens pas à corriger.
Pour info:
-je suis en localhost sur WampServer
-j'ai désactivé le pare-feu et antivirus mais malgré tout le problème persiste
Message d'erreur:
SMTP -> ERROR: Failed to connect to server: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée. (10061)
SMTP Error: Could not connect to SMTP host. E-mail non envoyé
Code php
try {
$dns='mysql:host=localhost; dbname=nom_bdd'; // le chemin vers le serveur
$user='xxx'; // nom d'utilisateur pour se connecter
$mdp='xxx'; // mot de passe de l'utilisateur pour se connecter
$cnx=new PDO($dns,$user,$mdp);
$cnx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}catch (PDOException $e ){
echo 'Erreur PDO:'.$e->getMessage();
}
if(isset($_POST['envoiMel'])){
$requete=$cnx->query('SELECT mail,mdp FROM users');
include("mailer/class.phpmailer.php");
include("mailer/class.smtp.php");
$mail=new PHPMailer();
while($data=$requete->fetch(PDO::FETCH_ASSOC)){
$mail->AddAddress($data['mail']);
}
$requete->closeCursor();
$message="Votre code est le suivant: <br/>";
$message.=$data['mdp'];
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->SMTPDebug=1;
$mail->SMTPAuth=true;
$mail->SMTPSecure='ssl';
$mail->HOST='smtp.gmail.com';
$mail->Port=465;
$mail->Username='[email protected]';
$mail->Password='xxxxxx';
$mail->SetFrom("[email protected]");
$mail->AddAddress("[email protected]");
$mail->CharSet="utf-8";
$mail->Subject="Votre mot de passe";
$mail->MsgHTML($message);
if(!$mail->Send()){
echo 'E-mail non envoyé';
echo 'Mailer error: ' . $mail->ErrorInfo;
}else{
echo 'Message envoyé';
}
}
?>
Mon formulaire pour l'envoi
<!DOCTYPE>
<html>
<body>
<h5>ENVOI DES MDP AUX UTILISATEURS</h5>
<form method="post" action="envoiMel.php">
<button type="submit" name="envoiMel"> ENVOI E-MAIL
</button>
</form>
</body>
</html>
La configuration du smtp est correct. J'ai utilisé phpMailer avec un formulaire et des champs. Ca fonctionne très bien, je reçois l'e-mail mais lorsque que je dois interroger la bdd et faire un envoi multiple, ça plante. Pourquoi? Je ne comprends pas. La requête n'est peut-être pas adaptée à ce que je recherche.
Merci pour votre aide.
Cordialement
Ionesco
Bonjour,
J'ai une base de données de x utilisateurs. Je génère automatiquement leur mot de passe. Je souhaite leur communiquer via un formulaire et faire un envoi groupé. Je récupère les e-mails et codes et j'envoie l'e-mail à chacun. Mais je tombe sur un os et reçois ce message d'erreur que je ne parviens pas à corriger.
Pour info:
-je suis en localhost sur WampServer
-j'ai désactivé le pare-feu et antivirus mais malgré tout le problème persiste
Message d'erreur:
SMTP -> ERROR: Failed to connect to server: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée. (10061)
SMTP Error: Could not connect to SMTP host. E-mail non envoyé
Code php
[php]
try {
$dns='mysql:host=localhost; dbname=nom_bdd'; // le chemin vers le serveur
$user='xxx'; // nom d'utilisateur pour se connecter
$mdp='xxx'; // mot de passe de l'utilisateur pour se connecter
$cnx=new PDO($dns,$user,$mdp);
$cnx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}catch (PDOException $e ){
echo 'Erreur PDO:'.$e->getMessage();
}
if(isset($_POST['envoiMel'])){
$requete=$cnx->query('SELECT mail,mdp FROM users');
include("mailer/class.phpmailer.php");
include("mailer/class.smtp.php");
$mail=new PHPMailer();
while($data=$requete->fetch(PDO::FETCH_ASSOC)){
$mail->AddAddress($data['mail']);
}
$requete->closeCursor();
$message="Votre code est le suivant: <br/>";
$message.=$data['mdp'];
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->SMTPDebug=1;
$mail->SMTPAuth=true;
$mail->SMTPSecure='ssl';
$mail->HOST='smtp.gmail.com';
$mail->Port=465;
$mail->Username='
[email protected]';
$mail->Password='xxxxxx';
$mail->SetFrom("
[email protected]");
$mail->AddAddress("
[email protected]");
$mail->CharSet="utf-8";
$mail->Subject="Votre mot de passe";
$mail->MsgHTML($message);
if(!$mail->Send()){
echo 'E-mail non envoyé';
echo 'Mailer error: ' . $mail->ErrorInfo;
}else{
echo 'Message envoyé';
}
}
?>
[/php]
Mon formulaire pour l'envoi
[html]
<!DOCTYPE>
<html>
<body>
<h5>ENVOI DES MDP AUX UTILISATEURS</h5>
<form method="post" action="envoiMel.php">
<button type="submit" name="envoiMel"> ENVOI E-MAIL
</button>
</form>
</body>
</html>
[/html]
La configuration du smtp est correct. J'ai utilisé phpMailer avec un formulaire et des champs. Ca fonctionne très bien, je reçois l'e-mail mais lorsque que je dois interroger la bdd et faire un envoi multiple, ça plante. Pourquoi? Je ne comprends pas. La requête n'est peut-être pas adaptée à ce que je recherche.
Merci pour votre aide.
Cordialement
Ionesco