Fix: Quelques corrections sur la gestion cc et bcc de la classe CMail
This commit is contained in:
parent
72850aba07
commit
9e918bb301
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user