20.6. Attachments

Files can be attached to an e-mail using the addAttachment() method. The default behaviour of Zend_Mail is to assume the attachment is a binary object (application/octet-stream), should be transferred with base64 encoding, and is handled as an attachment. These assumptions can be overridden by passing more parameters to addAttachment():

Example 20.6. E-Mail Messages with Attachments

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

If you want more control over the MIME part generated for this attachment you can use the return value of addAttachment() to modify its attributes. The addAttachment() method returns a Zend_Mime_Part object:

<?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();
?>