Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » integrer class phpmailer
Auteurintegrer class phpmailer
vigs
391      

vigs
  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       
 

Hotfirenet
  Posté : 01-04-2008 00:35

c bizarre ca parait correct ton truc, faut reste a tester

  Profil  E-mail  www  
developpeur
24581       
 

developpeur
  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      

vigs
  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       
 

Hotfirenet
  Posté : 01-04-2008 12:19

plus de precision !

y'a t'il un message d'erreur ?

  Profil  E-mail  www  
vigs
391      

vigs
  Posté : 01-04-2008 12:20

non, aucun message d'erreur, juste une page blanche après l'envoi...

  Profil  www  
Hotfirenet
1738       
 

Hotfirenet
  Posté : 01-04-2008 16:16

et tu ne recoi pas de mail ??

  Profil  E-mail  www  
vigs
391      

vigs
  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  
Sauter à :

Temps : 0.0248 seconde(s)