|
vigs 391
| Posté : 30-03-2008 22:41
bonjour,
mon hébergeur limitant l'utilisation de la fonction mail, j'ai voulu intégrer phpmailer sur mon site.
j'ai donc télécharger et installer la class, j'ai modifié le mainfile.php comme suit :
#autodoc send_email($email, $subject, $message, $from, $priority, $mime) : Pour envoyer un mail en texte ou html via les fonctions mail ou email
function send_email($email, $subject, $message, $from="", $priority=false, $mime=false) {
global $mail_fonction, $adminmail;
if (($mail_fonction==1) or ($mail_fonction=="")) {
$From_email=$adminmail;
if ($from!="") { $From_email=$from; }
require "modules/newsletter/phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='smtp.xxx.fr';
$mail->From= $From_email;
$mail->FromName = 'Webmaster';
$mail->AddAddress($email);
$mail->AddReplyTo($From_email);
$mail->Subject=$subject;
$mail->Body=$message;
$result=$mail->Send();
echo $email;
echo $result;
$mail->SmtpClose();
unset($mail);
} else {
$pos = strpos($adminmail, "@");
$tomail=substr($adminmail,0,$pos);
$result=email($tomail, $email, $subject, $message, $tomail, "Return-Path:\nX-Mailer: NPDS\n$advance");
}
if ($result) {
return (true);
} else {
return (false);
}
}
Mon problème est que lorsque je test un envoi de LNL sur une groupe comprenant 3 membres, il n'y a qu'un seul mail qui est envoyé...
Petite info (je ne sais pas si ça sert mais bon...), si je place
echo $email;
echo $result;
après
$result=$mail->Send();
le script m'affiche l'adresse mail à laquelle le mail est envoyée et 1
Foilà, n'étant pas très fort en php, si quelqu'un peut me donner une piste, ce serait cool..
Merci |  Profil www
|
|
Hotfirenet 1738
| Posté : 01-04-2008 00:35
c bizarre ca parait correct ton truc, faut reste a tester |  Profil E-mail www
|
|
developpeur 24581
| Posté : 01-04-2008 09:16
normal pour le 1 / cela indique que la fonction à bien focntionnée (return true) |  Profil E-mail www
|
|
vigs 391
| Posté : 01-04-2008 09:39
ok pour le 1, mais si la fonction a bien fonctionné, pourquoi la boucle d'envoi ne se fait pas correctement ?
m'énerve..... |  Profil www
|
|
Hotfirenet 1738
| Posté : 01-04-2008 12:19
plus de precision !
y'a t'il un message d'erreur ? |  Profil E-mail www
|
|
vigs 391
| Posté : 01-04-2008 12:20
non, aucun message d'erreur, juste une page blanche après l'envoi... |  Profil www
|
|
Hotfirenet 1738
| Posté : 01-04-2008 16:16
et tu ne recoi pas de mail ?? |  Profil E-mail www
|
|
vigs 391
| Posté : 01-04-2008 16:24
j'ai un peu bidouiller pour faire des tests.
voici le code que j'utilise :
#autodoc send_email($email, $subject, $message, $from, $priority, $mime) : Pour envoyer un mail en texte ou html via les fonctions mail ou email
function send_email($email, $subject, $message, $from="", $priority=false, $mime=false) {
global $mail_fonction, $adminmail;
if (($mail_fonction==1) or ($mail_fonction=="")) {
$From_email=$adminmail;
if ($from!="") { $From_email=$from; }
require "modules/newsletter/phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='195.XXX.XXX.XX';
$mail->Priority='1';
// $mail->From= $From_email;
$mail->From= 'webmaster@monsite.com';
$mail->FromName ='Webmaster';
$mail->AddAddress($email);
// $mail->AddReplyTo($From_email);
$mail->AddReplyTo('webmast er@monsite.com');
$mail->Subject=$subject;
$mail->Body=$message;
$result=$mail->Send();
if(!$mail->Send()){ //Teste le return code de la fonction
echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
}
else{
}
$mail->SMTPKeepAlive='False';
unset($mail);
} else {
$pos = strpos($adminmail, "@");
$tomail=substr($adminmail,0,$pos);
$result=email($tomail, $email, $subject, $message, $tomail, "Return-Path:\nX-Mailer: NPDS\n$advance");
}
if ($result) {
return (true);
} else {
return (false);
}
}
Voici le résultat :
via la page prévenir un ami : le mail part et arrive bien mais il arrive en double
via la création de compte ou la perte de mot de passe : le mail part et arrive bien mais il arrive en double
via la petite lettre d'info : seul un utilisateur reçoit un e-mail et en plus il le reçoit en double...
Donc deux problème : envoi de l'e-mail en double et envoi à un seul utilisateur pour la LNL...
Je m'arrache un peu les cheveux...
MErci d'avance pour votre aide
Cordialement
Message édité par : vigs / 02-04-2008 12:20 |  Profil www
|
|