Gros N@z Posté 9 Juillet 2008 Posté 9 Juillet 2008 Bonjour, J'ai besoin de votre aide car j'ai un petit problème pour envoyer un mail en copie cachée. En fait quand j'envoi du simple texte ça marche sans problème mais quand j'associe mon design avec le css j'ai tout sous forme de texte comme ci dessous. X-Server-Name: www.blablabla.com X-Script-Name: /newsletter/mail.php X-Remote-Addr: 90.xx.xx.xxx <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> .... Voici mon code : <? $nl_sujet = $_POST['aaa_mail_sujet']; $nl_corps = $_POST['aaa_mail_corps']; $nl_de = $_POST['aaa_mail_de']; $nl_to = $_POST['aaa_mail_to']; //$nl_to_cci = $_POST['aaa_mail_to_cci']; $nl_post = $_POST['aaa_mail_post']; $nl_type = $_POST['aaa_mail_type']; If ($nl_post=='ok') { // Préparation des données. $sujet = stripslashes($nl_sujet); $corps = stripslashes($nl_corps); $entete = 'From:'.$nl_de."\r\n"; $entete .= 'Reply-To:'.$nl_de."\r\n"; //$entete .= 'Bcc:'.$nl_to_cci."\r\n"; $entete .= 'Content-Type: text/html; charset="iso-8859-1"'."\r\n"; $entete .= "\n"; $corps_final = "CONTENU DU MAIL..."; mail($nl_to, $sujet, $corps_final, $entete); echo '<p><b>Mail envoyé avec succès.</b></p>'; } else { echo '<p><b>Le mail n\'a pas pu être envoyé.</b></p>'; }?> Merci de me filer un coup de main car je désespère
mjouan Posté 9 Juillet 2008 Posté 9 Juillet 2008 Salut Pour du HTML il vaut mieux utiliser une encapsulation MIME. Tu commences par définir une variable de frontière MIME: $frontiere = '-----=' . md5(uniqid(mt_rand())); Dans la définition de ton entête remplacer : $entete .= 'Content-Type: text/html; charset="iso-8859-1"'."\r\n"; par : $entete .= 'MIME-Version: 1.0'."\n";$entete .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"'; Il te faudra avoir la version Texte de ton message dans la variable : $message_texte et la version HTML du message dans la variable: $message_html Par exemple: $message_texte="Texte";$message_html="<HTML><BODY><b>Texte</b></BODY></HTML>"; Puis tu ajoutes le code suivant à la place de ta chaine $corps_final. //MESSAGE TEXTE$corps_final= 'This is a multi-part message in MIME format.'."\n\n";$corps_final.= '--'.$frontiere."\n";$corps_final.= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";$corps_final.= 'Content-Transfer-Encoding: 8bit'."\n\n";$corps_final.= $message_texte."\n\n";//MESSAGE HTML$corps_final.= '--'.$frontiere."\n";$corps_final.= 'Content-Type: text/html; charset="iso-8859-1"'."\n";$corps_final.= 'Content-Transfer-Encoding: 8bit'."\n\n";$corps_final .= $message_html."\n\n"; Marc
Gros N@z Posté 9 Juillet 2008 Auteur Posté 9 Juillet 2008 merci marc, je vais regarder ça Mais est-tu sûr que cela va rêgler mon problème de copie cachée ? Julien
mjouan Posté 10 Juillet 2008 Posté 10 Juillet 2008 Mais est-tu sûr que cela va rêgler mon problème de copie cachée ? Le format n'étant pas reconnu, il traite comme il peut. D'ou l'affichage de tout le texte. Marc
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant