BAD HEADER, MIME error

Rebonjour,

J'ai modifié mon code comme p4bl0 a conseillé :
Bloc de code:
$smtp = new SMTP('adresse_du_FAI.ca', '', '', 25, 'localhost', 0);
$smtp->From = 'info@adresse_du_FAI.ca';
$smtp->FromName = 'Service aux membres';
$smtp->Encoding = 'QUOTED-PRINTABLE'; // Ancienne valeur quoted-printable
$smpt->ISO = 'iso-8859-1';
$premlet= substr($pourabon, 0, 1);
$up = strtoupper($premlet);
$sujet=substr_replace($pourabon ,$up, 0, 1);
$smtp->Sujet=$sujet;
$to=$courriel;//courriel au membre
$message = $mess;
$smtp->Priority = 3;
//$mime_boundary = "<<<--==+X[".md5(time())."]\r\n\r\n";
$headers.='Reply-to: info@adresse_du_FAI.ca' . "\r\n"."Mime-Version: 1.0\r\n".'X-Mailer: PHP/' . phpversion().'\r\n';
$smtp->smtp_mail($to, $sujet, $message, $header='');// Envoie du mail     
if($smtp->erreur){

echo 'pouet pouet vroum vroum'. $smtp->erreur;
}
Et ça ne corrige rien:confused:
Mais j'ai remarqué deux choses :
1. quand je mets
Bloc de code:
$smtp->smtp_mail($to, $sujet, $message, $header='');// Envoie du mail
, j'ai mon message et son sujet mais quand je mets :
Bloc de code:
$smtp->smtp_mail($to, $sujet, $message, $headers);// Envoie du mail
je reçois mon courriel mais sans le message ni le sujet.
2. Remarquez le '.' après $headers :
Bloc de code:
$headers.='Reply-to: info@adresse_du_FAI.ca' . "\r\n"."Mime-Version: 1.0\r\n".'X-Mailer: PHP/' . phpversion().'\r\n';
Avec ce dernier code je reçois mon courriel mais avec celui-ci :
Bloc de code:
$headers='Reply-to: info@adresse_du_FAI.ca' . "\r\n"."Mime-Version: 1.0\r\n".'X-Mailer: PHP/' . phpversion().'\r\n';
mon courriel ne me parvient pas !

Je sais que ça ne m'empêche pas de recevoir mes courriels mais cette erreur m'énaaaarrve !
Aussi je songe à changer le script d'envoi et la classe que j'utilise.
À moins que vous n'ayez une solution géniale à me soumettre !:D
le dernier \r\n est entre simple quote et pas double.

Pour le coup du .=, &#231;a veux dire que $headers contiendrait d&#233;j&#224; quelque chose avant qu'on l'utilise dans ton bout de code.
affiche la variable pour voir ce qu'elle contient avant.

Sinon, j'ai trouv&#233; &#231;a : http://phpmailer.sourceforge.net/ &#231;a &#224; l'air mieux foutu ;)
 
le dernier \r\n est entre simple quote et pas double.

Pour le coup du .=, ça veux dire que $headers contiendrait déjà quelque chose avant qu'on l'utilise dans ton bout de code.
affiche la variable pour voir ce qu'elle contient avant.

Sinon, j'ai trouvé ça : http://phpmailer.sourceforge.net/ ça à l'air mieux foutu ;)

Ta suggestion n'a rien changé. Merci quand même.
Je connais déjà phpmailer ; je l'ai déjà installé sur le même serveur mais je le trouvais lent.
Mon problème a trouvé solution avec un autre script PHP-SmtpMail version 1.0, d'un monsieur Feriyanto que l'on peut obtenir ici :http://www.1phpscripts.com/Email_Systems_Scripts-9.html
Ce n'est pas une classe mais un script qui remplace la fonction mail() de php. Il est rapide et fait très bien le travail. Toutefois, j'ai dû l'adapter à mes besoins. Pour le bénéfice de tous ceux qui veulent un script de courriel qui fonctionne, voici comment je l'ai adapté.
J'ai conservé uniquement le script send.php que j'utilise avec un include au début de mon script d'envoi:
Bloc de code:
include('smtp.php');
au début de mon script.
Ensuite, je recueille les données de l'abonné envoyées en post:
Bloc de code:
$aujourdhui = 'Le '.get_date();
$mess .=$aujourdhui . "\r\n\r\n";
$nom =$_POST['nom'];$adresse=$_POST['adresse'];
$debut = "Bonjour ".$nom.",\r\n\r\nVotre demande a été acheminée avec succès. Nous vous remercions d'adhérer à notre club.\r\n\r\nVoici les détails de la transaction :\r\n\r\n";
$mess .=$debut;
if(!empty($adresse)){
$mess .="Adresse : ".$adresse."\r\n";
}
...
etc.
Voici maintenant les paramètres utililés pour envoyer le courriel à l'abonné :
Bloc de code:
$premlet= substr($pourabon, 0, 1);
$up = strtoupper($premlet);//le client s'abonne ou se réabonne ce qui
$sujet=substr_replace($pourabon ,$up, 0, 1);//donne un titre différent au message
$subject=$sujet;//que l'on écrit avec une majuscule
$to=$courriel;//adresse de courriel du membre
$message = $mess;
$smtp->Priority = 3;
$smtp_host = 'smtp.adresse_du_FAI.ca';
$email ="[email protected]_du_FAI.ca";
$from="Service aux membres <$email>";
$headers.="From: $from\nX-Mailer: PHP-SmtpMail (c) 2004 by Feriyanto\r\n";
$headers .="Mime-Version: 1.0\r\n";
$headers .="Content-type: text/plain; charset=iso-8859-1\r\n";
$result = @smtpmail($to,$subject,$message,$headers);
if (!$result)
 {
  echo ('On ne peut envoyer le message. Essayer plus tard<br>');
  
 }
Et ça fonctionne parfaitement !:)
Sauf que je ne sais toujours pas comment annoncer dans le sujet du message dans ce forum que mon problème est résolu :nailbiting: Tant pis !