Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-08-2007 11:13:49

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

[Résolu][Zend 1.0.0] Mail et piece jointe

Bonjour, j'arrive à envoyer des mails avec la classe Zend_Mail, mais j'ai un probleme avec les pièce jointe, j'au vu sur le forum qu'il y avait une discution qui m'a partiellement aidé, car j'arrive à envoyé des pièces jointe, mais celle-ci sont vide (0 octets) et le type de fichier (quand je regarde les propriété du fichier recu par mail est toujours text/plain)

Voici le code:

Code:

//pièce jointe
            $filename = "/home/jeremy/Desktop/fleur.gif";
            $handle = fopen($filename, "r");
            $contents = fread($handle, filesize($filename));
            fclose($handle);
            
            $mail->createAttachment($contents, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64, 'fleur.gif');
            
            //envoi du mail
            $mail->send();

j'ai essayé avec un pdf('application/pdf) et un doc (application/msword) et toujours pareil


Edit: cette ligne ($filename = "/home/jeremy/Desktop/fleur.gif"; ) n'allait pas, j'ai du faire autrement

Dernière modification par leroidje (07-08-2007 16:37:25)

Hors ligne

 

#2 29-01-2008 09:46:23

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Résolu][Zend 1.0.0] Mail et piece jointe

la réponse est très tardive mais elle peut servir alors ...

leroidje a écrit:

Bonjour, j'arrive à envoyer des mails avec la classe Zend_Mail, mais j'ai un probleme avec les pièce jointe, j'au vu sur le forum qu'il y avait une discution qui m'a partiellement aidé, car j'arrive à envoyé des pièces jointe, mais celle-ci sont vide (0 octets) et le type de fichier (quand je regarde les propriété du fichier recu par mail est toujours text/plain)

Voici le code:

Code:

//pièce jointe
            $filename = "/home/jeremy/Desktop/fleur.gif";
            $handle = fopen($filename, "r");
            $contents = fread($handle, filesize($filename));
            fclose($handle);
            
            $mail->createAttachment($contents, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64, 'fleur.gif');
            
            //envoi du mail
            $mail->send();

j'ai essayé avec un pdf('application/pdf) et un doc (application/msword) et toujours pareil


Edit: cette ligne ($filename = "/home/jeremy/Desktop/fleur.gif"; ) n'allait pas, j'ai du faire autrement

une petite erreur dans ton code
DISPOSITION_ATTACHMENT et non DISPOSITION_INLINE

ensuite tu n'est pas obligé de lire le fichier

Code:

//pièce jointe
$filename = "/home/jeremy/Desktop/fleur.gif";
$contents = fopen($filename, "r");
$mail->createAttachment($contents, 'image/gif', Zend_Mime::DISPOSITION_ATTACHMENT , Zend_Mime::ENCODING_BASE64, 'fleur.gif');
//envoi du mail
$mail->send();

voir le constructeur de Zend_Mime_Part

Code:

   /**
     * create a new Mime Part.
     * The (unencoded) content of the Part as passed
     * as a string or stream
     *
     * @param mixed $content  String or Stream containing the content
     */
    public function __construct($content)
    {
        $this->_content = $content;
        if (is_resource($content)) {
            $this->_isStream = true;
        }
    }

le fichier sera lu uniquement lors de l'envoie et il sera au passage traité en fonction de l'encodage.voir pour cela la méthode
getEncodedStream

A+JYT

Dernière modification par sekaijin (29-01-2008 09:53:26)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages