Modification de la classe mime_mail

Résolu
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010 - 15 juin 2005 à 17:07
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010 - 15 juin 2005 à 21:04
slt tout le monde.

j'utilise la classe mime_mail (ci desous) pour transmettre un mail depuis flash. coté flash pas de pb bien sur. mais en php, je misère ;-)
je voudrais savoir comment modifier la classe pour pouvoir changer la couleur de fond du mail.
et aussi, je voudrais eviter que le nom de fichier joint n'apparaisse sous la forme _._.monfichier.swf, mais plutôt nomQueJaiChoisi.swf

alors si une ame charitable se ballade dans le coin, merci davance

<?
class mime_mail
{
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;
function mime_mail()
{
$this->parts = array();
$this->to = "";
$this->from = "";
$this->subject = "";
$this->body = "";
$this->headers = "";
}
function attach($message,$name,$ctype = '')
{
if(empty($ctype)){
switch(strrchr(basename($name), ".")){
case ".swf": $ctype = "application/swf"; break;
case ".gz": $ctype = "application/x-gzip"; break;
case ".tgz": $ctype = "application/x-gzip"; break;
case ".zip": $ctype = "application/zip"; break;
case ".pdf": $ctype = "application/pdf"; break;
case ".png": $ctype = "image/png"; break;
case ".gif": $ctype = "image/gif"; break;
case ".jpg": $ctype = "image/jpeg"; break;
case ".txt": $ctype = "text/plain"; break;
case ".htm": $ctype = "text/html"; break;
case ".html": $ctype = "text/html"; break;
default: $ctype = "application/octet-stream"; break;
}
}
$this->parts[] =
array (
"ctype" => $ctype,
"message" => $message,
"encode" => $encode,
"name" => $name
);
}
function build_message($part)
{
$message = $part[ "message"];
$message = chunk_split(base64_encode($message));
$encoding = "base64";
return "Content-Type: ".$part[ "ctype"].
($part[ "name"]? "; name = "".$part[ "name"]. """ : "").
"\nContent-Transfer-Encoding: $encoding\n\n$message\n";
}
function build_multipart()
{
$boundary = "b".md5(uniqid(time())); $multipart "Content-Type: multipart/mixed; boundary $boundary\n\nThis is a MIME encoded message.\n\n--$boundary";
for($i = sizeof($this->parts) - 1; $i >= 0; $i--)
{
$multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary";
}
return $multipart.= "--\n";
}
function send()
{
$mime = "";
if (!empty($this->from)) $mime .= "From: ".$this->from. "\n";
if (!empty($this->headers)) $mime .= $this->headers. "\n";
if (!empty($this->body)) $this->attach($this->body, "", "text/html");
$mime .= "MIME-Version: 1.0\n".$this->build_multipart();
mail($this->to, $this->subject, "", $mime);
}
};
?>

4 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 juin 2005 à 19:45
Salut,



pour modifier l'arrière plan il te faut un message au format html, bref en CSS comme une page html classique :

<html>

<!-- N'oublie pas le doctype XHTML -->

<head>

<style type="text/css">

body{

background-color:#F0F0F0; //par exemple

}

</style>

</head>



paragraphe



</html>
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 juin 2005 à 19:00
Hello,



la couleur de fond, ca ne va pas etre la, mais dans le formulaire que
tu utilises pour creer le mail (ce sera dans le body du mail).



Le nom du fichier je ne pense pas que tu puisses de cette maniere.

C'est pareil, va se passe du cote du formulaire pour ecrire le mail et uploader le fichier a joindre.
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
15 juin 2005 à 19:46
Ensuite pour le fichier (le nom du fichier) je dirais que tu dois modifier la variable $name dans ta fonction attach (à la fin)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
BananaTree Messages postés 337 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 2 novembre 2010
15 juin 2005 à 21:04
merci de vos réponses.
en fait mon message est préformaté en html depuis flash.
j'avais essayé mon message

j'étais donc sur la bonne voie. je vais rééssayer avec les balises html et head (d'autant que l'intégration d'une feuille de style m'arrange bien)

encore merci les gars

@+ et bon code

Pascal
0
Rejoignez-nous