fonction mail() devenue inopérante

Eléphant du PHP | 112 Messages

15 févr. 2011, 13:36

Bonjour,

Je viens aujourd'hui soumettre à votre expertise un problème qui me turlupine sérieusement. Jusque-là, j'utilisai pour expédier mes newsletters à mes abonnés le script suivant, et celui-ci fonctionnait parfaitement.
$sujet = "C'est le sujet";
$headers  = "From: \"Bidule\"<[email protected]>\n";

  $boundary = "-----=" . md5( uniqid ( rand() ) );
  $headers .= "MIME-Version: 1.0\n";
 $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
 
 $message_txt  = "Bidule\n\n";
 $message_txt .= "Le portail des machins\n";
 $message_txt .= "etc, etc";


  $message  = "This is a multi-part message in MIME format.\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
  $message .= $message_txt;

  $message .= "\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
  $message .= $messhtml;
  $message .= "\n\n";
  $message .= "--" . $boundary . "--\n";
 //requete d'extraction des destinataires
$sql="SELECT * FROM ...";
$result=mysql_query($sql);
while ($tab=mysql_fetch_array($result))
{

$email=$tab['mail'];



mail($email, $sujet , $message, $headers);

  } 
   
  
 
Il n'a plus fonctionné -c'est à dire que les mails ne sont plus parvenus à leur destinataire- sans la moindre modification de ma part.
La fonction mail(), quant à elle continue parfaitement de fonctionner, je l'ai testée avec un script basique.
Je suis bien embêté...
Un grand merci d'avance pour le coup de main.
Cordialement,

Thierry

PS: $messhtml est évidemment renseignée et un echo l'affiche correctement.

Eléphant du PHP | 112 Messages

15 févr. 2011, 18:52

Je viens apporter une précision:

En fait la fonction mail fonctionne dans certains cas et dans d'autres non, selon le contenu de $messhtml, $messhtml contenant en fait une newsletter entière, avec styles etc, .je ne me vois pas sorti de là si je dois réécrire une telle newsletter "inenvoyable" jusqu'à déceler ce qui bloque. Car je le répète, je n'ai effectué aucun changement ni dans les scripts, ni dans les dossiers les contenant.

Si cette précision peut aiguiller quelqu'un pour m'aider...
Merci d'avance,

Thierry

Eléphant du PHP | 112 Messages

16 févr. 2011, 01:24

Rebonjour,

C'est très mystérieux. En enlevant tous les liens conduisant à des domaines différents du mien, les newsletters qui ne passaient plus passent à nouveau, alors que certaines newsletters comportant des liens vers des domaines autres que le mien passaient quand même..........

Eléphant du PHP | 112 Messages

16 févr. 2011, 01:34

En fait, les courriers n'arrivant pas arrivaient bien, bloqués par le serveur comme courriers indésirables..........
Merci Anémone!