20.6. 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ärisches Objekt (application/octet-stream) ist, über eine bas64 Kodierung übertragen werden soll und als Anhang verarbeitet wird. Diese Annahmen können durch die Übergabe von weiteren Parametern an createAttachment() überschrieben werden:

Beispiel 20.7. E-Mail Nachrichten mit Anhängen

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

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:

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

$at = $mail->createAttachment($myImage);
$at->type        = 'image/gif';
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding    = Zend_Mime::ENCODING_8BIT;
$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():

<?php
require_once 'Zend/Mail.php';
$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_8BIT;
$at->filename    = 'test.gif';

$mail->addAttachment($at);

$mail->send();