Bonjour,
Voilà, j'ai une fonction qui marche bien pour envoyer des mails. J'ai voulu ajouter des fichiers joints (les images contenues dans le corps du texte), mais avec cette modif, je recois QUE des fichiers joints, dont le contenu du mail en piece jointe (appelés Partie 1.X.txt et Partie 1.X+1.html)...
Si quelqu'un peut m'aider... C'est assez balèze, je sais pas si quelqu'un saura, mais on ne sait jamais ! Ou si vous connaissez une class PHP compatible Gmail qui fonctionne bien et qui joint les images contenues dans la page...
Voici le code en question
*1 sont sous la forme
[/code]
Voilà, j'ai une fonction qui marche bien pour envoyer des mails. J'ai voulu ajouter des fichiers joints (les images contenues dans le corps du texte), mais avec cette modif, je recois QUE des fichiers joints, dont le contenu du mail en piece jointe (appelés Partie 1.X.txt et Partie 1.X+1.html)...
Si quelqu'un peut m'aider... C'est assez balèze, je sais pas si quelqu'un saura, mais on ne sait jamais ! Ou si vous connaissez une class PHP compatible Gmail qui fonctionne bien et qui joint les images contenues dans la page...
Voici le code en question
Code:
function email($destinataire, $sujet , $messtxt, $messhtml,$mailfrom="noreply@votresite.com",$namefrom="votresite.com")
{
global $site_url;
$boundary = "_".md5 (uniqid (rand()));
$new_message = get_image($messhtml, $boundary); // je récupère les images du texte via une autre fonction et je les change du style <img src="cid:$bildID" border=0>
$messhtml = $new_message["texte"];
$entete = "MIME-Version: 1.0\n";
$entete .= "From:$namefrom <robot@mail.votresite.com>\n";
$entete .= "X-Sender: <www.votrsite.com>\n";
$entete .= "X-Mailer: PHP\n";
$entete .= "X-auth-smtp-user: webmaster@votresite.com \n";
$entete .= "X-abuse-contact: abuse@votresite.com \n";
$entete .= "Reply-to: $namefrom <$mailfrom>\n";
// C'EST CETTE PARTIE AJOUTEE QUI JOINT LES FICHIERS ET POSE PROBLEME
if(count($new_message["header"])>0)
{
$entete .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"$boundary\"\n\n";
$entete .= "--" . $boundary . "\n";
for($i=0;$i<count($new_message["header"]);$i++) $entete .= $new_message["header"][$i]; // *1
$entete .= "\n\n";
}
$message .= "--" . $boundary . "\n";
$message .= "This is a multi-part message in MIME format.\n\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $messtxt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= str_replace("=","=3D",$messhtml);
$message .= "\n\n";
return @mail($destinataire, $sujet, $message, $entete);
}
email("test@test.com","test 3",strip_tags(nl2br($contents1)),$contents1,$lemail,$lauteurl);
*1 sont sous la forme
Code:
$header = "--" . $boundary . "\n";
$header .= "Content-Type: image/gif";\n name=\"nom de l'image\"\n";
$header .= "Content-Transfer-Encoding: base64\n";
$header .= "Content-ID: <$bildID>\n\n";
$header .= chunk_split(base64_encode(fread(fopen($fichier,"rb"),filesize($fichier))),72)."\n\n";