从Zend_Mail对象中删除附件

时间:2012-04-06 09:06:21

标签: php zend-framework

有没有办法从Zend_Mail对象中删除附件?简单 例如:

$mail = new Zend_Mail();

//..configuring the email..

$mail->createAttachment($myImage,
                        'image/gif',
                        Zend_Mime::DISPOSITION_INLINE,
                        Zend_Mime::ENCODING_BASE64);
$mail->send();

现在,我想修改对象并再次发送

$mail->clearSubject()
     ->setSubject('new subject');

是否有任何可能性从该对象中删除附件 是先前设定的?

2 个答案:

答案 0 :(得分:3)

你可以这样做:

$mail = new Zend_Mail();
$mail->createAttachment("...");

$parts = $mail->getParts();
foreach ($parts as $k => $v) {
    if ($v->disposition == "attachment") {
        unset($parts[$k]);
    }
}
$mail->setParts($parts);
$mail->hasAttachments = false;

这只会删除MIME处置设置为附件的部分。

答案 1 :(得分:1)

我能想到的只有

$mail->setParts(array());

但这将删除所有部分,无论它们是什么。