Bonjour,
Dans un script php pour l'envoi de mail je dois attacher un fichier PDF.
Mon script de mail fonctionnait jusqu'à cet ajout.
Pour rechercher d'ou vient le problème, j'ai récupéré sur le net un script tout fait et modifier en conséquence mes sources de fichier. Que je mette un fichier PDF de 2Mo ou 27Ko, j'ai le même problème, le navigateur à sa barre de chargement qui tourne à l'infinie, le CPU sur le serveur monte et reste élevé (+85%).
Si ceci peut aidé :
Version Apache : 2.2.21
Version PHP : 5.2.17
Ci dessous le code récupéré modifier pour tester :
Merci de votre aide, car là je ne comprends pas (nota : c'est la 1ère fois que je fais de l'attachement).
Dans un script php pour l'envoi de mail je dois attacher un fichier PDF.
Mon script de mail fonctionnait jusqu'à cet ajout.
Pour rechercher d'ou vient le problème, j'ai récupéré sur le net un script tout fait et modifier en conséquence mes sources de fichier. Que je mette un fichier PDF de 2Mo ou 27Ko, j'ai le même problème, le navigateur à sa barre de chargement qui tourne à l'infinie, le CPU sur le serveur monte et reste élevé (+85%).
Si ceci peut aidé :
Version Apache : 2.2.21
Version PHP : 5.2.17
Ci dessous le code récupéré modifier pour tester :
$to = "monmail@mondomaine.com";
$from = "me@domain.com";
$subject = "send email with pdf attachment";
$message = "<p>Please see the attachment.</p>";
// a random hash will be necessary to send mixed content
$separator = md5(time());
// carriage return type (we use a PHP end of line constant)
$eol = PHP_EOL;
// attachment name
$filename = "pdf.pdf";
//$filename = "plaq5.pdf";
// encode data (puts attachment in proper format)
//$pdfdoc = $pdf->Output("", "S");
$dir = 'docs/plaquette/';
$fp = fopen($dir.$filename, "rb"); // b c'est pour les windowsiens
$content = fread($fp, filesize($dir.$filename));
fclose($fp);
$attachment = chunk_split(base64_encode($content));
// main header (multipart mandatory)
$headers = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;
// message
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$headers .= $message.$eol.$eol;
// attachment
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol;
$headers .= "Content-Transfer-Encoding: base64".$eol;
$headers .= "Content-Disposition: attachment".$eol.$eol;
$headers .= $attachment.$eol.$eol;
$headers .= "--".$separator."--";
// send message
mail($to, $subject, "", $headers);
Merci de votre aide, car là je ne comprends pas (nota : c'est la 1ère fois que je fais de l'attachement).