20.6. Fichiers joints

Des fichiers peuvent-être attachés à un email en utilisant la méthode addAttachment(). Le comportement par défaut de Zend_Mail est de définir que le fichier joint est un objet binaire (application/octet-stream), qui devra être transféré avec un encodage de type base64, et est définit comme une pièce jointe. Ce comportement peut être re-définit en passant plus de paramètres à addAttachment() :

Exemple 20.6. Email avec fichiers joints

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();
// construction du message
$mail->addAttachment($uneChaineBinaire);
$mail->addAttachment($monImage, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_8BIT);
?>   

Si vous voulez contrôler la partie MIME générée pour un fichier joint, vous pouvez utiliser la valeur retournée de addAttachment() pour modifier ses attributs. La méthodes addAttachment() retourne un objet de type Zend_Mime_Part :

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();

$at = $mail->addAttachment($myImage);
$at->type        = 'image/gif';
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding    = Zend_Mime::ENCODING_8BIT;
$at->filename    = 'test.gif';

$mail->send();
?>