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