Anhänge

Dateien können durch die createAttachment() Methode an eine E-Mail angehängt werden. Standardmäßig nimmt Zend_Mail an, dass der Anhang ein binäres Objekt (application/octet-stream) ist, über eine base64 Kodierung übertragen werden soll und als Anhang verarbeitet wird. Diese Annahmen können durch die Übergabe von weiteren Parametern an createAttachment() überschrieben werden:

Beispiel 569. E-Mail Nachrichten mit Anhängen

$mail = new Zend_Mail();
// erstelle Nachricht...
$mail->createAttachment($someBinaryString);
$mail->createAttachment($myImage,
                        'image/gif',
                        Zend_Mime::DISPOSITION_INLINE,
                        Zend_Mime::ENCODING_BASE64);

Wenn du weitere Kontrolle über den für diesen Anhang generierten MIME Teil benötigst, kannst du zurückgegebenen Wert von createAttachment() verwenden, um die Attributes zu verändern. Die createAttachment() Methode gibt ein Zend_Mime_Part Objekt zurück:

$mail = new Zend_Mail();

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

$mail->send();

Eine Alternative ist die Erstellung einer Instanz von Zend_Mime_Part und das Hinzufügen von Ihr mit addAttachment():

$mail = new Zend_Mail();

$at = new Zend_Mime_Part($myImage);
$at->type        = 'image/gif';
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding    = Zend_Mime::ENCODING_BASE64;
$at->filename    = 'test.gif';

$mail->addAttachment($at);

$mail->send();