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