Code :
- //----------------------------------
- // Construction de l'entête
- //----------------------------------
- // On choisi généralement de construire une fronti�re générée aleatoirement
- // comme suit. (le document pourra ainsi etre attache dans un autre mail
- // dans le cas d'un transfert par exemple)
- ///$boundary = "-----=".md5(uniqid(rand()));
- // Ici, on construit un ent�te contenant les informations
- // minimales requises.
- // Version du format MIME utilis�
- ///$header = "Reply-to: test <test@test.net>\n";
- ///$header .= "From: test <test@test.net>\n";
- ///$header .= "Bcc: $mail, $mail\n";
- ///$header .= "MIME-Version: 1.0\n";
- ///$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
- ///$header .= "\n";
- // Type de contenu. Ici plusieurs parties de type different "multipart/mixed"
- // Avec un fronti�re d�finie par $boundary
- //--------------------------------------------------
- // Construction du message proprement dit
- //--------------------------------------------------
- // Pour le cas, ou le logiciel de mail du destinataire
- // n'est pas capable de lire le format MIME de cette version
- // Il est de bon ton de l'en informer
- // REM: Ce message n'apparait pas pour les logiciels sachant lire ce format
- ///$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
- //---------------------------------
- // 1ère partie du message
- // Le texte
- //---------------------------------
- // Chaque partie du message est s�par� par une fronti�re
- //$msg .= "\r\n";
- ///$msg .= "--$boundary\n";
- // Et pour chaque partie on en indique le type
- //$msg .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n";
- // Et comment il sera cod�
- //$msg .= "Content-Transfer-Encoding:8bit\r\n";
- // Il est indispensable d'introduire une ligne vide entre l'ent�te et le texte
- //$msg .= "\r\n";
- ///$msg .= "Content-Type: text/html; charset=\"UTF-8\"\n";
- ///$msg .= "Content-Transfer-Encoding: 8bit\n";
- // Enfin, on peut �crire le texte de la 1�re partie
- ///$msg .= $message;
- ///$msg .= "\n";
- //---------------------------------
- // 2nde partie du message
- // Le fichier
- //---------------------------------
- // Tout d'abord lire le contenu du fichier
- ///$file = "file.pdf";
- ///$fp = fopen($file, "rb" ); // b c'est pour les windowsiens
- => rb serveur linux
- ///$attachment = fread($fp, filesize($file));
- ///fclose($fp);
- // puis convertir le contenu du fichier en une cha�ne de caract�re
- // certe totalement illisible mais sans caract�res exotiques
- // et avec des retours à la ligne tout les 76 caract�res
- // pour être conforme au format RFC 2045
- ///$attachment = chunk_split(base64_encode($attachment));
- // Ne pas oublier que chaque partie du message est séparé par une frontière
- ///$msg .= "--$boundary\n";
- // Et pour chaque partie on en indique le type
- ///$msg .= "Content-Type: image/gif; name=\"$file\"\r\n";
- // Et comment il sera codé
- ///$msg .= "Content-Transfer-Encoding: base64\r\n";
- // Petit plus pour les fichiers joints
- // Il est possible de demander � ce que le fichier
- // soit si possible affich� dans le corps du mail
- ///$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
- // Il est indispensable d'introduire une ligne vide entre l'ent�te et le texte
- ///$msg .= "\r\n";
- // C'est ici que l'on ins�re le code du fichier lu
- ///$msg .= $attachment . "\r\n";
- ///$msg .= "\r\n\r\n";
- //on indique la fin par une nouvelle fronti�re
- ///$msg .= "--$boundary--\r\n";
- ///$destinataire = $mail;
- ///$expediteur = "expediteur@xxx.fr";
- ///$reponse = $expediteur;
- //echo "Ce script envoie un mail avec fichier attaché $expediteur";
- //mail($destinataire, "test", $msg,"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
|