Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2008, 16h35   #1
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 598
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 598
Points : 123
Points : 123
Par défaut [Mail] Envoyer un email avec fichier joint

Bonjour,

Je veux envoyer des emails avec un fichier joint. J'ai
donc récupéré ce code avec lequel je fais des tests sur
mon propre email (je suis chez Free).
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
$limit = md5(uniqid(mt_rand())); //Frontière
 
  $header = 'From: "expediteur"<nom@free.fr>'."\n";
  $header .= 'Reply-To: <nom@free.fr>'."\n";
  //Type de format MIME utilisé   
  $header .= 'MIME-Version: 1.0'."\n";
  //Type de contenu et frontière entre les parties 
  $header .= 'Content-Type: multipart/mixed; boundary="'.$limit.'"'."\n";
  $header .= "\n";
 
  $message = 'Ce message est au format MIME'."\n";
  //1ere partie du message  
  $message .= '-'.$limit.''."\n";
  //indique le type de contenu du message
  $message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
  $message .= 'Content-Transfer-Encoding: 8bit'."\n";
  $message .= "\n";
  $message .= 'Voici un email avec un fichier joint.'."\n";
  $message .= "\n";
 
  //2eme partie du message: le fichier joint
  $file = $file_name;
  $attachment = file_get_contents($file);
  $attachment = chunk_split(base64_encode($attachment));
 
  $message .= '--'.$limit.''."\n";
  $message .= 'Content-Type: text/txt; name="'.$file.'"'."\n";
  $message .= 'Content-Transfer-Encoding: base64'."\n";
  $message .= 'Content-Disposition: attachement; filename="'.$file.'"'."\n";
  $message .= "\n";
  $message .= $attachment."\n";
  $message .= "\n";
  $message .= "\n";
  $message .= '---'.$limit.''."\n";
 
  $subject = 'Titre du sujet';
 
  mail('mon_adresse@free.fr', $subject, $message, $header);
Je reçois bien le mail avec le fichier joint, mais le pb
c'est que l'email est vide je n'ai pas le corps du message
(Voici un email avec un fichier joint.)


Quelqu'un pourrait-il me dire ce qui ne va pas dans ce code ?

Merci d'avance.
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 17h59   #2
Rédacteur/Modérateur
 
Avatar de Siguillaume
 
Homme Guillaume SIGUI
Chef de projet en SSII
Inscription : août 2007
Messages : 2 388
Détails du profil
Informations personnelles :
Nom : Homme Guillaume SIGUI
Localisation : Côte d'Ivoire

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2007
Messages : 2 388
Points : 3 177
Points : 3 177
Envoyer un message via Yahoo à Siguillaume Envoyer un message via Skype™ à Siguillaume
regarde
__________________
Un gros problème est la somme de plusieurs petits problèmes.
Resolvez chacun des petits problèmes: vous aurez resolu le gros problème!
Mes tutos || Mon blog || Développeurs ivoiriens
Siguillaume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 19h52   #3
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 598
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 598
Points : 123
Points : 123
Merci pour ta réponse mais j'aimerais d'abord comprendre
pourquoi j'ai ce pb et d'où vient l'erreur dans mon code.

Bien sûr à terme je pense qu'il est plus pratique d'utiliser une librairie dans le genre PHPMAILER.
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 21h37   #4
Membre habitué
 
Avatar de tintin72
 
Inscription : septembre 2003
Messages : 598
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 598
Points : 123
Points : 123
Ah ça y est j'ai trouvé
Le pb vient de la frontière entre les différentes parties.
J'ai oublié un tiret à la 1ere partie du message ce qui
doit provoquer le pb.
tintin72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h30.


 
 
 
 
Partenaires

Hébergement Web