diff --git a/htdocs/comm/mailing/fiche.php b/htdocs/comm/mailing/fiche.php
index c0dc90a9c2e46926f291dc35828b01c2eaf2aa33..63489259be70986c155a531983d7ccf3c73de950 100644
--- a/htdocs/comm/mailing/fiche.php
+++ b/htdocs/comm/mailing/fiche.php
@@ -53,46 +53,46 @@ if ($_GET["action"] == 'sendall')
 // Action envoi test mailing
 if ($_POST["action"] == 'send')
 {
-  $mil = new Mailing($db);
+    $mil = new Mailing($db);
 
-  $mil->id           = $_POST["mailid"];
-  $mil->fromname     = $_POST["fromname"];
-  $mil->frommail     = $_POST["frommail"];
-  $mil->sendto       = $_POST["sendto"];
-  $mil->titre        = $_POST["titre"];
-  $mil->sujet        = $_POST["subject"];
-  $mil->body         = $_POST["message"];
+    $mil->id           = $_POST["mailid"];
+    $mil->fromname     = $_POST["fromname"];
+    $mil->frommail     = $_POST["frommail"];
+    $mil->sendto       = $_POST["sendto"];
+    $mil->titre        = $_POST["titre"];
+    $mil->sujet        = $_POST["subject"];
+    $mil->body         = $_POST["message"];
 
-  if ($mil->sendto && $mil->sujet && $mil->body)
+    if ($mil->sendto && $mil->sujet && $mil->body)
     {
-        // \todo    Utiliser la class DolibarrMail ou CMailFile pour envoyer le mail
-        $headers = "MIME-Version: 1.0\r\n";
-        $headers .= "Content-type: text/plain; charset=iso-8859-1\n";
-        $headers .= "From: ".$mil->fromname." <".$mil->frommail.">\r\n";
-        $headers .= "Reply-to:".$mil->fromname." <".$mil->frommail.">\r\n";
-        $headers .= "X-Priority: 3\r\n";
-        $headers .= "X-Mailer: Dolibarr ".DOL_VERSION."\r\n";
-        
-        $errorlevel=error_reporting(0);
-        $m=mail($mil->sendto, $mil->sujet, $mil->body, $headers);
-        
-        if($m)
+        require_once(DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
+
+        $sendto = $mil->sendto;
+        $from = $mil->fromname." <".$mil->frommail.">";
+        $arr_file = array();
+        $arr_mime = array();
+        $arr_name = array();
+
+        $mailfile = new CMailFile($mil->sujet,$sendto,$from,$mil->body,$arr_file,$arr_mime,$arr_name);
+
+        $result=$mailfile->sendfile();
+
+        if($result)
         {
-            $message='<div class="ok">'.$langs->trans("ResultOk").'</div>';
+            $message='<div class="ok">'.$langs->trans("MailSuccessfulySent",$from,$sendto).'</div>';
         }
         else
         {
             $message='<div class="error">'.$langs->trans("ResultKo").'</div>';
-        }					
-        error_reporting($errorlevel);
-        
+        }
+
         $_GET["action"]='';
         $_GET["id"]=$mil->id;
     }
-  else
-   {
-    $message='<div class="error">'.$langs->trans("ErrorUnknown").'</div>';
-   }
+    else
+    {
+        $message='<div class="error">'.$langs->trans("ErrorUnknown").'</div>';
+    }
 
 }
 
diff --git a/htdocs/fourn/fournisseur.commande.class.php b/htdocs/fourn/fournisseur.commande.class.php
index 8a8bb5126af91544057fd9bd720671ac35c84eed..26e0276ddd59c8d453259758ed1e2d5fbfc97fb3 100644
--- a/htdocs/fourn/fournisseur.commande.class.php
+++ b/htdocs/fourn/fournisseur.commande.class.php
@@ -214,7 +214,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm
    */
   function _NotifyApprobator($user)
   {
-    require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php");
+    require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
     
     $this->ReadApprobators();
     
@@ -253,10 +253,10 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm
 
 	    $sendto = $approb[2];
 
-	    $mailfile = new DolibarrMail($subject,
+	    $mailfile = new CMailFile($subject,
 					 $sendto,
 					 $from,
-					 $message);
+					 $message, array(), array(), array());
 	    if ( $mailfile->sendfile() )
 	      {
 		
@@ -345,7 +345,7 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm
    */
   function _NotifyCreator($user, $subject, $message)
   {
-    require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php");
+    require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
     
     $cc = new user($this->db, $this->user_author_id);
     $cc->fetch();
@@ -353,10 +353,10 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_methode_commande_fournisseur as cm ON cm
     $sendto = $cc->email;
     $from = $user->email;
 
-    $mailfile = new DolibarrMail($subject,
+    $mailfile = new CMailFile($subject,
 				 $sendto,
 				 $from,
-				 $message);
+				 $message, array(), array(), array());
     if ( $mailfile->sendfile() )
       {
 	return 0;
diff --git a/scripts/factures-impayees-commerciaux.php b/scripts/factures-impayees-commerciaux.php
index 86eade82aba68a44e9661ae0bab936c6c0d64513..4bf05db93284e5a9ba18ee98d389e55cce69c907 100644
--- a/scripts/factures-impayees-commerciaux.php
+++ b/scripts/factures-impayees-commerciaux.php
@@ -1,5 +1,7 @@
+#!/usr/bin/php
 <?PHP
 /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
+ * Copyright (C) 2005 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -17,13 +19,28 @@
  *
  * $Id$
  * $Source$
- *
- * Envois la liste des factures impay�es aux commerciaux
- *
  */
 
-require ("../htdocs/master.inc.php");
-require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php");
+/**
+        \file       scripts/factures-impayees-commerciaux.php
+        \ingroup    facture
+        \brief      Script d'envoi de mails r�sum� des imapy�es par commerciaux
+*/
+
+// Test si mode batch
+$sapi_type = php_sapi_name();
+if (substr($sapi_type, 0, 3) == 'cgi') {
+    echo "Erreur: Vous utilisez l'interpreteur PHP pour le mode CGI. Pour executer mailing-send.php en ligne de commande, vous devez utiliser l'interpreteur PHP pour le mode CLI.\n";
+    exit;
+}
+
+// Recupere root dolibarr
+$path=eregi_replace('factures-impayees-commerciaux.php','',$_SERVER["PHP_SELF"]);
+
+
+require($path."../htdocs/master.inc.php");
+require_once (DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php");
+
 
 $error = 0;
 
@@ -38,92 +55,89 @@ $sql .= " AND sc.fk_soc = s.idp";
 $sql .= " AND sc.fk_user = u.rowid";
 $sql .= " ORDER BY u.email ASC, s.idp ASC";
 
-if ( $db->query($sql) ) 
+if ( $db->query($sql) )
 {
-  $num = $db->num_rows();
-  $i = 0;
-  $oldemail = '';
-  $message = '';
-  $total = '';
-  dolibarr_syslog("factures-impayees-commerciaux: ");
-  
-  while ($i < $num)
+    $num = $db->num_rows();
+    $i = 0;
+    $oldemail = '';
+    $message = '';
+    $total = '';
+    dolibarr_syslog("factures-impayees-commerciaux: ");
+
+    if ($num)
     {
-      $obj = $db->fetch_object();
-
-      if ($obj->email <> $oldemail)
-	{
-
-	  if (strlen($oldemail))
-	    {
-	      dolibarr_syslog("factures-impayees-commerciaux: send mail to $oldemail");
-	      $subject = "[Dolibarr] Liste des factures impay�es";
-	      $sendto = $oldemail;
-	      $from = $oldemail;
-
-	      $allmessage = "Liste des factures impay�es � ce jour\n";
-	      $allmessage .= "Cette liste ne comporte que les factures des soci�t�s dont vous �tes r�f�renc�s comme commercial.\n";
-	      $allmessage .= "\n";
-	      $allmessage .= $message;
-	      $allmessage .= "\n";
-	      $allmessage .= "Total = ".price($total)."\n";
-
-	      $mail = new DolibarrMail($subject,
-				       $sendto,
-				       $from,
-				       $allmessage);
-	  
-	      $mail->errors_to = $errorsto;                 
-	      
-	      if ( $mail->sendfile() )
-		{
-		  
-		}
-	      
-
-	      
-	    }
-	  $oldemail = $obj->email;
-	  $message = '';
-	  $total = 0;
-	}
-
-
-      $message .= "Facture ".$obj->facnumber." : ".price($obj->total_ttc)." : ".$obj->nom."\n";
-      $total += $obj->total_ttc;
-
-      dolibarr_syslog("factures-impayees-commerciaux: ".$obj->email);
-      $i++;      
-    }
+        while ($i < $num)
+        {
+            $obj = $db->fetch_object();
+    
+            if ($obj->email <> $oldemail)
+            {
+                if (strlen($oldemail))
+                {
+                    envoi_mail($oldemail,$message,$total);    
+                }
+                $oldemail = $obj->email;
+                $message = '';
+                $total = 0;
+            }
+    
+            $message .= "Facture ".$obj->facnumber." : ".price($obj->total_ttc)." : ".$obj->nom."\n";
+            $total += $obj->total_ttc;
+    
+            dolibarr_syslog("factures-impayees-commerciaux: ".$obj->email);
+            $i++;
+        }
 
-  /* On r�p�te le code c'est mal */
-  dolibarr_syslog("factures-impayees-commerciaux: send mail to $oldemail");
-  $subject = "[Dolibarr] Liste des factures impay�es";
-  $sendto = $oldemail;
-  $from = $oldemail;
-  
-  $allmessage = "Liste des factures impay�es � ce jour\n";
-  $allmessage .= "Cette liste ne comporte que les factures des soci�t�s dont vous �tes r�f�renc�s comme commercial.\n";
-  $allmessage .= "\n";
-  $allmessage .= $message;
-  $allmessage .= "\n";
-  $allmessage .= "Total = ".price($total)."\n";
-  
-  $mail = new DolibarrMail($subject,
-			   $sendto,
-			   $from,
-			   $allmessage);
-  
-  $mail->errors_to = $errorsto;                 
-  
-  if ( $mail->sendfile() )
+        // Si il reste des envois en buffer
+        if ($total)
+        {
+            envoi_mail($oldemail,$message,$total);    
+        }
+    }
+    else
     {
-      
+        print "Aucune facture impay�e avec des commerciaux directement rattach�s\n";
     }
 }
 else
 {
-  dolibarr_syslog("factures-impayees-commerciaux: Error");
+    dolibarr_print_error($db);
+    dolibarr_syslog("factures-impayees-commerciaux: Error");
 }
 
+
+function envoi_mail($oldemail,$message,$total)
+{
+    global $conf;
+    
+    $subject = "[Dolibarr] Liste des factures impay�es";
+    $sendto = $oldemail;
+    $from = $conf->global->MAIN_EMAIL_FROM;
+
+    print "Envoi mail pour $oldemail, total: $total\n";
+    dolibarr_syslog("factures-impayees-commerciaux: send mail to $oldemail");
+
+    $allmessage = "Liste des factures impay�es � ce jour\n";
+    $allmessage .= "Cette liste ne comporte que les factures des soci�t�s dont vous �tes r�f�renc�s comme commercial.\n";
+    $allmessage .= "\n";
+    $allmessage .= $message;
+    $allmessage .= "\n";
+    $allmessage .= "Total = ".price($total)."\n";
+
+    $mail = new CMailFile($subject,
+    $sendto,
+    $from,
+    $allmessage,array(),array(),array());
+
+    $mail->errors_to = $errorsto;
+
+    $result=$mail->sendfile();
+    if ($result)
+    {
+
+    }
+
+}    
+    
+
 ?>
diff --git a/scripts/prelevement-verif.php b/scripts/prelevement-verif.php
index 5fb9a2e796e88f41cd68fd1a40aff15edd28cbaf..943a2e69cb96ed5281d08a5e2f4045baa78f60b0 100644
--- a/scripts/prelevement-verif.php
+++ b/scripts/prelevement-verif.php
@@ -1,5 +1,6 @@
 <?PHP
 /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
+ * Copyright (C) 2005 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -28,7 +29,6 @@ require ("../htdocs/master.inc.php");
 
 require_once (DOL_DOCUMENT_ROOT."/facture.class.php");
 require_once (DOL_DOCUMENT_ROOT."/societe.class.php");
-require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php");
 
 $error = 0;
 
diff --git a/scripts/prelevement.php b/scripts/prelevement.php
index 37e71dbfc7a3461dd9fc186e12f5f08b4957a501..f6df4d3a82c44a24db246d28daff12aa8704b00f 100644
--- a/scripts/prelevement.php
+++ b/scripts/prelevement.php
@@ -1,5 +1,6 @@
 <?PHP
 /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
+ * Copyright (C) 2005 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -29,7 +30,6 @@ require_once (DOL_DOCUMENT_ROOT."/bon-prelevement.class.php");
 require_once (DOL_DOCUMENT_ROOT."/facture.class.php");
 require_once (DOL_DOCUMENT_ROOT."/societe.class.php");
 require_once (DOL_DOCUMENT_ROOT."/paiement.class.php");
-require_once (DOL_DOCUMENT_ROOT."/lib/dolibarrmail.class.php");
 
 $error = 0;