J'exécute PHP sur IIS6. J'ai du PHP qui envoie avec succès une image de 1KB en tant que pièce jointe d'un email. Cependant, lorsque j'essaie de joindre un PDF de 500 Ko (après avoir modifié le type de contenu), il se bloque et, après quelques minutes, j'obtiens le message "FastCGI process exceeded configured request timeout" (numéro d'erreur 258 (0x80070102)).
Vous avez une idée de la raison pour laquelle il est si long de joindre le PDF ? La solution n'est pas d'augmenter le délai d'attente, je ne peux pas laisser les utilisateurs attendre pendant plus de trois minutes que le fichier soit envoyé.
J'ai inclus mon code ci-dessous :
$headers = "From: ".$from."\r\n";
$headers .= "Reply-To: ".$from."\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$headers .="This is a multipart message in MIME format. \r\n\r\n";
$headers .= "--".$uid."\r\n\r\n";
$headers .= "Content-Type: text/plain; charset-iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";
$headers .= $text . "\r\n\r\n";
$headers .= "--".$uid."\r\n\r\n";
$headers .= "Content-Type: text/html; charset-iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$headers .= $html . "\r\n\r\n";
$headers .= "--".$uid."\r\n\r\n";
$headers .= "Content-Type: image/png; name=\"".$filename."\"\r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$attachment = chunk_split(base64_encode(file_get_contents($path.$filename)));
$headers .= $attachment . "\r\n\r\n";
$headers .= "--".$uid."\r\n\r\n";
//send the email
$mail_sent = @mail( $to, $subject, $text, $headers );
Merci d'avance pour tout conseil.