mail() + $headers = problème

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mail() + $headers = problème

par Volkow » 21 déc. 2007, 20:27

Le mail est envoyé mais les headers ne sont pas pris en compte...

:/

par iclo » 21 déc. 2007, 11:37

La modification proposée par Ryle, elle donne quoi ?

par Volkow » 20 déc. 2007, 20:51

Ca rend fou!

Dès que j'enlève le $headers, ça marche.

Dès que je le remet, ça marche plus.

^^

par Ryle » 20 déc. 2007, 10:53

Normalement il faudrait utiliser des "\r\n" à la fin de tes headers pour respecter la RFCchépucombien. Le "\n" seul n'étant à utiliser qu'en qu'à de version de système unix tout déprécié :)

Vire également les guillemets que tu as en trop, précise le type mime, et vie le "'Content-Transfer-Encoding" que je sais absolument pas d'où ça sort :) (Le mieux étant d'essayer les modif une par une pour voir ce qui posait problème :))
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset=iso-8859-1' . "\r\n";
$headers .= 'To: VKXFree <[email protected]>'."\r\n";
$headers .= 'From: VKXFree <[email protected]>'."\r\n";
$headers .= 'Reply-To: [email protected]'."\r\n";

par Volkow » 20 déc. 2007, 08:19

J'essaie.

Mince, ça ne marche toujours pas. :/

Oui la fonction mail() est active puisque j'arrive à envoyer des mails avec d'autres scripts.

:)

Merci.

Re: mail() + $headers = problème

par Victor BRITO » 19 déc. 2007, 23:59

$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
Remplace cette ligne par celle-ci :
$headers .= 'Content-Type: text/plain; charset=iso-8859-1'."\n";
et essaie.

Soit dit en passant, as-tu vérifié si la fonction mail() était disponible chez ton hébergeur ?

mail() + $headers = problème

par Volkow » 19 déc. 2007, 23:42

Bonsoir à tous,

Je viens ce soir pour vous demander de l'aide sur un problème que je comprend pas.

J'ai fait un script d'envoi de mail, tout ce qu'il y a de plus simple:
$titre = addslashes($_POST['titre']);
$auteur = 'VKXFree';
$date = $_POST['date'];
$message = addslashes($_POST['message']);

     $headers ='From: "VKXFree"<[email protected]>'."\n";
     $headers .='Reply-To: [email protected]'."\n";
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';

     if(mail('[email protected]', $titre, $message, $headers))
     {
          echo 'Le message a bien été envoyé';
     }
     else
     {
          echo 'Le message n\'a pu être envoyé';
     }
Seul petit "hic" c'est que ça ne l'envoi pas (malgré le echo "le message a bien été envoyé").
Lorsque je retire les variables $headers l'envoi se fait parfaitement...

Malheureusement je n'arrive pas à comprendre d'où le problème peut venir.

Si quelqu'un a une idée, je suis preneur.

Merci, VKX.