如何发送包含从MongoDB GridFS加载的附件的Swift电子邮件?

时间:2014-10-29 12:43:33

标签: mongodb symfony swiftmailer gridfs

我们使用MongoDB GridFS在我们的CRM中存储附件。现在我们应该能够使用SwiftMailer在电子邮件中发送选定的附件。有没有办法正确完成而不先将文件存储到磁盘? GridFS PHP api提供文件作为以下对象。

  

http://php.net/manual/en/class.mongogridfsfile.php#mongogridfsfile.props.file

为了在浏览器中下载文件,我们可以直接流式传输而无需tmp文件。有没有人解决这个问题,将GridFS文件附加到电子邮件?

更新1:我刚刚意识到我可以根据字节数据创建附件,例如

$mf=$a->getFile()->getMongoGridFSFile();
$attachment = \Swift_Attachment::newInstance($mf->getBytes(), $mf->getFilename(), $a->getMimeType());

...但是无法想象它适用于大型文件,因为它们在发送时保存在内存中......

0 个答案:

没有答案