Erreur envoi de mail html en php
Posté : 09 août 2006, 12:46
bonjour, j'envoi un mail en php avec fichier image de fond, et apres moulte tests et essais je ne parviens pas a recevoir mon mail clairement.
apres les erreurs et les probleme d'encode, je recois cette fois ci
mon fichier image de fond en image jointe, et ceci en contenu de mail :
[Content-Type: text/html; charset="iso-8859-1" Content-Type: multipart/mixed; boundary="-----=48f28f2224a5b56a548213334bd9e134"]
j'ai beau chercher sur le net, je trouve à chaque fois une syntaxe differente des variables &headers et &message...
Merci de votre aide, je ne trouve pas !!!
Bonne journée à tous !
Pben
apres les erreurs et les probleme d'encode, je recois cette fois ci
mon fichier image de fond en image jointe, et ceci en contenu de mail :
[Content-Type: text/html; charset="iso-8859-1" Content-Type: multipart/mixed; boundary="-----=48f28f2224a5b56a548213334bd9e134"]
j'ai beau chercher sur le net, je trouve à chaque fois une syntaxe differente des variables &headers et &message...
// déclaration des variables
$reponse = "[email protected]";
$mailclient = $_POST["mail"];
$frontiere = '-----=' . md5(uniqid(mt_rand()));
$fond = "images/mail.jpg";
$sujet ='Demande de informations';
$headers ='From: "mon site"<'.$reponse.'>'."\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/related; boundary=\"$frontiere\"";
$headers .='Reply-To: <'.$reponse.'>'."\n";
$message = "Ceci est un message au format MIME 1.0 multipart/mixed.\n\n";
$message .= "--" . $frontiere . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
// Récupération du fichier fond
// on génère un identifiant aléatoire pour le fichier
$file_id = md5( uniqid ( rand() ) ) . $_SERVER['SERVER_NAME'];
$fimg = fopen($fond, "rb");
$attache = fread($fimg, filesize($fond));
fclose($fimg);
// Message
$content_encode = chunk_split(base64_encode($attache));
$message .= "\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
// contenu du mail
$contenu = "
Confirmation du mail de demande de devis
".$_POST["nom"]." ".$_POST["pre"]."
".$_POST["mail"]."
".$_POST["tel"]."
".$_POST["soc"]." ".$_POST["cp"]." ".$_POST["ville"]."
choix de : ".$_POST["image"]."
".$_POST["pub"]."
".$_POST["web"]."
délais :".$_POST["delai"]."
budget :".$_POST["budget"]."
précisions du contact : ".$_POST["com"]."
";
// fin du contenu client, et du contenu admin
$message .= "\n\n";
$message .= "--" . $frontiere . "\n";
$message .= "Content-Type: image/jpg; name=\"images\mail.jpg\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-ID: <$file_id>\n\n";
$message .= $content_encode . "\n";
$message .= "\n\n";
$message .= "--" . $frontiere. "--\n";
// envoi des mails
$envoi = mail($mailclient,$sujet,$message,$headers);
Si quelqu'un a une idée, ou de l'expérience vécue... enfin si quelqu'un peut m'aider ... Merci de votre aide, je ne trouve pas !!!
Bonne journée à tous !
Pben