Émail HTML

Fichiers joints

Des fichiers peuvent-être attachés à un émail en utilisant la méthode createAttachment(). 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 redéfinit en passant plus de paramètres à createAttachment() :

Example #1 Émail avec fichiers joints

  1. $mail = new Zend_Mail();
  2. // construction du message
  3. $mail->createAttachment($uneChaineBinaire);
  4. $mail->createAttachment($monImage,
  5.                         'image/gif',
  6.                         Zend_Mime::DISPOSITION_INLINE,
  7.                         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 createAttachment() pour modifier ses attributs. La méthodes createAttachment() retourne un objet de type Zend_Mime_Part :

  1. $mail = new Zend_Mail();
  2.  
  3. $at = $mail->createAttachment($monImage);
  4. $at->type        = 'image/gif';
  5. $at->disposition = Zend_Mime::DISPOSITION_INLINE;
  6. $at->encoding    = Zend_Mime::ENCODING_8BIT;
  7. $at->filename    = 'test.gif';
  8.  
  9. $mail->send();

Une façon alternative est de créer une instance de Zend_Mime_Part et de l'ajouter avec la méthode addAttachment() :

  1. $mail = new Zend_Mail();
  2.  
  3. $at = new Zend_Mime_Part($monImage);
  4. $at->type        = 'image/gif';
  5. $at->disposition = Zend_Mime::DISPOSITION_INLINE;
  6. $at->encoding    = Zend_Mime::ENCODING_8BIT;
  7. $at->filename    = 'test.gif';
  8.  
  9. $mail->addAttachment($at);
  10.  
  11. $mail->send();

Émail HTML