Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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:
//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
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
//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
/** * 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
Pages: 1