PHPMailer

Claire.d.sir
Invité n'ayant pas de compte PHPfrance

20 mai 2010, 14:25

Bonjour,

J'utilise la classe PHPMailer pour envoyer un mail à l'administrateur d'un site après chaque annonce déposée par un internaute sur son site.
Je travaille pour le moment en local et pour faire les tests, j'envoi les annonces sur une boite gmail. Cela fonctionne. Par contre, lorsque j'essaie avec une boite autre que gmail (aol, free ...) cela ne fonctionne plus. L'annonce est bien envoyé mais le mail n'est jamais réceptionné.
Est-ce que c'est dû au fait que je travaille en local?

Voici mon code :
<?php
$chemin_destination = 'tmp/';
$i = 0;
while ($i < 5) {
  if (move_uploaded_file($_FILES['photosbien']['tmp_name'][$i],$chemin_destination.$nomDestination[$i])) {   }
  else { header("location:../../erreur.html");}
  $i++;
}
require "../../../../phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->From='xxxx'; 
$mail->AddAddress('xxxxx');
$mail->Subject="xxxxxxxx";
$mail->Body = "xxxxxx ".$date; 
$mail->Body .= "\r\n";
$mail->Body .= "xxxxxx";
$i = 0;
while ($i < 5) {
  if (isset($nomDestination[$i])) {
    $mail->AddAttachment($chemin_destination.$nomDestination[$i]);
  }
  $i++;
}
if(!$mail->Send()){
  header("location:../../erreur.html");
}
else{
  header("location:../../contactthanks.html");
}
unset($mail);
?>
Si je met ce code là sur le serveur du client, est-ce que cela va fonctionner?
J'ai lu qu'il fallait dans certains cas ajouter le code suivant. Est ce que c'est nécessaire pour mettre le site sur le serveur?
Code :
<?php
$mail->IsSMTP();
$mail->Host='xxxxxxx';
$mail->Port=587;
$mail->SmtpClose();
?>

Merci,
Claire

ViPHP
ViPHP | 928 Messages

20 mai 2010, 16:18

Pour ta seconde question, ce n'est nécessaire que si tu décides d'utiliser un autre serveur SMTP que celui de la configuration de ton php.ini. Donc à moins que tu saches dans quoi tu mets le nez, je doute que ce te soit utile ;)