Fix: Quelques corrections sur la gestion cc et bcc de la classe CMail

This commit is contained in:
Laurent Destailleur 2004-12-28 18:24:19 +00:00
parent 72850aba07
commit 9e918bb301

View File

@ -18,25 +18,18 @@ to chunk_split
*/ */
/* Note: if you don't have base64_encode on your sytem it will not work */ /* Note: if you don't have base64_encode on your sytem it will not work */
/*! \file htdocs/lib/CMailFile.class.php /** \file htdocs/lib/CMailFile.class.php
\brief Classe permettant d'envoyer des attachements par mail \brief fichier de la classe d'envoi de mails
\author Dan Potter. \author Dan Potter.
\author Eric Seigne \author Eric Seigne
\author Laurent Destailleur. \author Laurent Destailleur.
\version $Revision$ \version $Revision$
*/ */
/*! \class CMailFile /** \class CMailFile
\brief Classe permettant d'envoyer des attachements par mail \brief Classe d'envoi de mails et pièces jointes. Encapsule mail() avec d'éventuel attachements.
\remarks Eric Seigne <eric.seigne@ryxeo.com> 2004.01.08
\remarks ajout de la gestion des cc:
\remarks ajout de l'expedition de plusieurs fichiers
\remarks Laurent Destailleur 2004.02.10
\remarks correction d'un disfonctionnement à la gestion des attachements multiples
*/ */
// simple class that encapsulates mail() with addition of mime file attachment.
class CMailFile class CMailFile
{ {
var $subject; var $subject;
@ -49,26 +42,26 @@ class CMailFile
var $mime_boundary = "--==================_846811060==_"; var $mime_boundary = "--==================_846811060==_";
var $smtp_headers; var $smtp_headers;
/*! /**
\brief CMailFile \brief CMailFile
\param subject \param subject sujet
\param to \param to email destinataire
\param from \param from email emetteur
\param msg \param msg message
\param filename_list \param filename_list tableau de fichiers attachés
\param mimetype_list \param mimetype_list tableau des types des fichiers attachés
\param mimefilename_list \param mimefilename_list tableau des noms des fichiers attachés
\param addr_cc \param addr_cc email cc
\param addr_bcc \param addr_bcc email bcc
*/ */
function CMailFile($subject,$to,$from,$msg,$filename_list,$mimetype_list,$mimefilename_list,$addr_cc="",$addr_bcc="")
// CMail("sujet","email_to","email_from","email_msg",tableau du path de fichiers,tableau de type mime,tableau de noms fichiers,"chaine cc")
function CMailFile($subject,$to,$from,$msg,$filename_list,$mimetype_list,$mimefilename_list,$addr_cc = "")
{ {
$this->subject = $subject; $this->subject = $subject;
$this->addr_from = $from;
$this->addr_to = $to; $this->addr_to = $to;
$this->addr_bcc = ""; $this->addr_cc = $addr_cc;
$this->smtp_headers = $this->write_smtpheaders($from,$addr_cc); $this->addr_bcc = $addr_bcc;
$this->smtp_headers = $this->write_smtpheaders();
$this->text_body = $this->write_body($msg, $filename_list); $this->text_body = $this->write_body($msg, $filename_list);
if (count($filename_list)) { if (count($filename_list)) {
$this->mime_headers = $this->write_mimeheaders($filename_list, $mimefilename_list); $this->mime_headers = $this->write_mimeheaders($filename_list, $mimefilename_list);
@ -76,7 +69,7 @@ class CMailFile
} }
} }
/*! /**
\brief permet d'attacher un fichier \brief permet d'attacher un fichier
\param filename_list \param filename_list
\param mimetype_list \param mimetype_list
@ -100,7 +93,7 @@ class CMailFile
// added -- to notify email client attachment is done // added -- to notify email client attachment is done
} }
/*! /**
\brief permet d'encoder un fichier \brief permet d'encoder un fichier
\param sourcefile \param sourcefile
*/ */
@ -118,7 +111,7 @@ class CMailFile
return $encoded; return $encoded;
} }
/*! /**
\brief permet d'envoyer un fichier \brief permet d'envoyer un fichier
*/ */
@ -129,7 +122,7 @@ class CMailFile
return mail($this->addr_to,$this->subject,stripslashes($message),$headers); return mail($this->addr_to,$this->subject,stripslashes($message),$headers);
} }
/*! /**
\brief permet d'ecrire le body d'un message \brief permet d'ecrire le body d'un message
\param msgtext \param msgtext
\param filename_list \param filename_list
@ -147,7 +140,7 @@ class CMailFile
return $out; return $out;
} }
/*! /**
\brief création des headers mime \brief création des headers mime
\param filename_list \param filename_list
\param mimefilename_list \param mimefilename_list
@ -165,20 +158,18 @@ class CMailFile
return $out; return $out;
} }
/*! /**
\brief création des headers smtp \brief création des headers smtp
\param addr_from \param addr_from
\param addr_cc \param addr_cc
\param addr_bcc
*/ */
function write_smtpheaders($addr_from,$addr_cc) function write_smtpheaders()
{ {
$out = "From: $addr_from\n"; $out = "From: ".$this->addr_from."\n";
if($addr_cc != "") if ($this->addr_cc) $out = $out . "Cc: ".$this->addr_cc."\n";
$out = $out . "Cc: $addr_cc\n"; if ($this->addr_bcc) $out = $out . "Bcc: ".$this->addr_bcc."\n";
if($this->addr_bcc != "")
$out = $out . "BCC: ".$this->addr_bcc."\n";
$out = $out . "Reply-To: $addr_from\n"; $out = $out . "Reply-To: $addr_from\n";
$out = $out . "X-Mailer: Dolibarr version " . DOL_VERSION ."\n"; $out = $out . "X-Mailer: Dolibarr version " . DOL_VERSION ."\n";
@ -188,7 +179,7 @@ class CMailFile
} }
} }
/*! /**
\brief permet de diviser une chaine (RFC2045) \brief permet de diviser une chaine (RFC2045)
\param str \param str
\remarks function chunk_split qui remplace celle de php si nécéssaire \remarks function chunk_split qui remplace celle de php si nécéssaire