2

有没有办法从 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');

是否有可能从之前设置的该对象中删除附件?

4

2 回答 2

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 处置设置为attach的部分。

于 2012-04-06T09:57:07.973 回答
1

我能想到的唯一方法是

$mail->setParts(array());

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

于 2012-04-06T09:52:45.133 回答