class Mail {
var $debug;
var $destinataire;
var $piecejointe;
var $sujet;
var $repertoire;
var $champs;
var $ajax = false;
function Mail ($destinataire,$sujet,$champs,$champverif,$piecejointe="",$repertoire="") {
$this->repertoire = $repertoire;
$this->destinataire = $destinataire;
$this->piecejointe = $piecejointe;
$this->champs = $champs;
$this->sujet = "=?iso-8859-1?q?".str_replace('%', '=',rawurlencode($sujet))."?=";
if ( isset($_POST[$champverif]) ){
if ( isset ($champs) && is_array($champs) ) $this->envoiMail();
}
}
function generationMailHtml($frontiere) {
$message = "";
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= '
';
$message .= "Voici des informations postées depuis votre site WEB
\n\n";
foreach ($this->champs as $var => $phrase) {
if ( !empty($_POST[$var]) ){
if ( is_array($_POST[$var]) ) {
$separateur = "
\n";
$tiret = " - ";
$intitule = $phrase;
if (is_array($phrase)){
$separateur = $phrase[1];
$tiret = "";
$intitule = $phrase[0];
}
$message .= "".$intitule." :
\n";
$completed = true;
foreach($_POST[$var] as $case) {
if (!empty($case))$message .= $tiret.$case.$separateur;
//else $message .= " Nc ";
}
$message = substr($message,0,-strlen($separateur));
$message .= "
\n";
}//fin if is array
else $message .= "".$phrase." :
\n".nl2br($_POST[$var])."
\n" ;
}
else $message .= "".$phrase." :
Non communiqué
\n" ;
}
$message .= "\n";
return $message;
}
function genereVarChamp($exeption=array()){
$script = '';
return $script;
}
function envoiMail () {
$expediteur= "no-reply@noreply.com";//$_SERVER['HTTP_HOST'];
if ( !empty ($_POST['email']) ) $expediteur = $_POST['email'];
$frontiere = '-----='.md5(uniqid(mt_rand()));
$headers = 'MIME-Version: 1.0'."\n";
$headers .= "From: ".$expediteur."<".$expediteur.">\n";
$headers .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"'."\n";
//MESSAGE EN HTML-----------------------------------------------------------
$message = $this->generationMailHtml($frontiere);
//PIECE JOINTE -------------------------------------------
$message .= $this->attachPieceJointe($frontiere);
//FERMETURE DU MAIL -------------------------------------------
$message .= "\n--".$frontiere."--\n";
//ENVOI DU MAIL-------------------------------------------//modif pour UTF8
//echo $message;
if ( mail($this->destinataire, utf8_decode($this->sujet), utf8_decode($message),utf8_decode($headers) ) ) {
$this->debug .= "
Formulaire envoyé avec succés";
}
else $this->debug .= "
Une erreur est survenue veuillez recommencer ultérieurement";
}
function attachPieceJointe($frontiere){
$message="";
if (!empty($this->piecejointe) && is_array($this->piecejointe) && is_dir($this->repertoire)){
foreach ($this->piecejointe as $champs){
$nom_fichier = $this->filter($_FILES[$champs]['name']).".".$this->recupExtension($_FILES[$champs]['name']);
//echo $nom_fichier;
$type_fichier = $_FILES[$champs]['type'];
if( move_uploaded_file($_FILES[$champs]['tmp_name'],$this->repertoire."/".$nom_fichier)){
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: '.$type_fichier.'; name="'.$nom_fichier.'"'."\n";
$message .= 'Content-Transfer-Encoding: base64'."\n";
$message .= 'Content-Disposition:attachement; filename="'.$nom_fichier.'"'."\n\n";
$message .= chunk_split(base64_encode(file_get_contents($this->repertoire."/".$nom_fichier)))."\n";
if(is_file($this->repertoire."/".$nom_fichier))unlink($this->repertoire."/".$nom_fichier);
}
}
return $message;
}
}
function filter($in) {
$search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
$replace = array ('e','a','i','u','o','c','_','');
return preg_replace($search, $replace, $in);
}
function recupExtension ($nom){
$ext = strstr($nom,'.');
$ext = substr($ext,1);
//echo '
'.$nom.'';
return $ext;
}
}
?>
Tarifs professionnels
Vous êtes un professionnel et vous souhaitez bénéficier de notre tarification préférentielle, contactez-nous par téléphone ou par le biais du formulaire ci-dessous, nous vous répondrons dans les plus brefs délais.