Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > PEAR
PEAR Forum d'entraide sur le framework PHP : PEAR. Avant de poster -> cours PEAR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/05/2012, 20h25   #1
acsm14
Invité de passage
 
Inscription : janvier 2008
Messages : 22
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 22
Points : 1
Points : 1
Par défaut Problème d'envoi de pièce jointe (image PNG)

Bonjour à tous,

Avec le framework PEAR j'arrive à envoyer sans erreurs un mail avec une pièce jointe PNG. Mais en ouvrant mon mail, la pièce jointe n'est pas reconnue en tant que image/png. Quand je clique pour la télécharger, au lieu de me proposer un fichier .png c'est un fichier .html. Ceci dit, une fois téléchargée puis en renommant le fichier en .png j'ai bien mon image.

Voici mon code ci-dessous.

Merci d'avance pour votre aide.

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
  protected $envoiCarte;
  protected $mime;
// En-têtes du message
  protected $hdrs;
 
  public function __construct($envoiCarte) {
 
    $this->envoiCarte = $envoiCarte;
    $this->hdrs = array(
        'From' => $envoiCarte->getFrom(),
        'Subject' => $envoiCarte->getSujet(),
        'Content-Transfer-Encoding' => '8bit');
 
 
 
    // CRÉATION D'UN OBJET Mail_mime
    $this->mime = new Mail_mime("\r\n");
 
  }
 
public function envoiHTML() {
 
    $urlCarte = ENTREPOT_FILE."cartes/".$this->envoiCarte->getIdCarte().".png";
 
    // CRÉATION DES DONNÉES DU MESSAGE
 
    // Corps du message au format HTML, incluant une image
    $html = "<html><head>  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"> </head><body>";
    $html .= $this->envoiCarte->getMessage();
    $html.= "</body></html>";
 
    // mettre le contenu du message en texte et HTML
    $this->mime->setHTMLBody($html);
 
    // ajouter la pièce jointe
    $this->mime->addAttachment($urlCarte, 'image/png', 'carte.png', true, 'base64');
 
 
    //ajouter la gestion des accents
    $mimeparams=array();
    $mimeparams['text_encoding']="8bit";
    $mimeparams['text_charset']="UTF-8";
    $mimeparams['html_charset']="UTF-8";
    $mimeparams['Content-Type'] = 'text/html; charset="UTF-8"';  
    $mimeparams['head_charset']="UTF-8";  
 
  // ENVOI DU MESSAGE
   $body = $this->mime->get($mimeparams);
   $hdrs = $this->mime->headers($this->hdrs);
   $mail=& Mail::factory('mail');
 
   /* envoyer le message à tous les destinataires */
   $tab = explode(",", $this->envoiCarte->getTo());
   foreach ($tab as $to) {
        //supprimer les espaces résiduels avant et après une adresse mail
        $to = str_replace(CHR(32),"",$to);
        $mail->send($to, $hdrs,$body);
   }
acsm14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h23.


 
 
 
 
Partenaires

Hébergement Web