Aller au contenu

Problème d'envoi (fonction mail() ) en copie cachée


Gros N@z

Sujets conseillés

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 :sick:

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...