Pièce jointe avec php mail()

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 : Pièce jointe avec php mail()

Re: Pièce jointe avec php mail()

par Spols » 03 juin 2013, 11:43

J'ai aussi eu des difficultés à envoyer des pièces jointes.

J'ai résolu le problème en utilisant la classe phpmailer (trouve la sur google avec des tuto) elle s'occupera de toutes les entêtes necessaire

Pièce jointe avec php mail()

par nicklarson » 01 juin 2013, 00:06

Bonsoir,
je cherche à envoyer un fichier pdf après validation d'un formulaire. Sans pièce jointe (partie code), ça fonctionne.
Voilà la partie qui me pose problème :
// Traitement pour attacher une PJ
// D'abord on lit le fichier
$dirname = 'Admin/';
$dir = opendir($dirname);
readdir($dir);
$fichier = 'Admin/prelevement.pdf';
closedir($dir);
$contenu = file_get_contents($fichier);
$attachement = $passage_ligne."------=$limite".$passage_ligne;
// Dans mon exemple, il s'agit d'un fichier html, il faut mettre le bon mime type
$attachement .= "Content-Type: application/pdf; name=\"Admin/prelevement.pdf\"".$passage_ligne;
$attachement .= "Content-Transfer-Encoding: base64".$passage_ligne;
$attachement .= "Content-Disposition: attachment; filename=\"Admin/prelevement.pdf\"".$passage_ligne.$passage_ligne;
// Ca y est on joint le fichier en l'encodant en base 64
$attachement .= chunk_split(base64_encode($contenu));
///puis plus bas
mail($destinataire, $sujet, $message, $attachement, $header);
Merci pour votre aide