【问题标题】:Remove temporal files after send email spool with Symfony2使用 Symfony2 发送电子邮件假脱机后删除临时文件
【发布时间】:2013-06-06 09:06:14
【问题描述】:

我的应用中有两个表单。其中一个用于发送问题,另一个用于发送简历。两者都有图像或 pdf 等附件。提交表单后,将向管理站点发送一封带有附件的电子邮件而不将文件存储在数据库中。我将文件存储在临时路径中,发送电子邮件后,我使用 unlink php 方法删除临时文件。当我现在发送电子邮件时,这很好用。

现在,我正在使用文件假脱机和 cron 作业来运行命令 php app/console swiftmailer:spool:send 以发送电子邮件。问题就在这里。我无法取消文件路径的链接,因为它将在 cron 作业执行命令时发送,但我需要在发送电子邮件后删除此文件。

当假脱机已发送命令删除文件时,我如何跟踪这些文件?我读到了关于在控制台中使用事件:http://symfony.com/doc/current/components/console/events.html 即使这对我有用,我也不能使用它,因为我使用的 Symfony 版本是 2.0

【问题讨论】:

    标签: symfony


    【解决方案1】:

    您通过运行命令php app/console swiftmailer:spool:send 发送电子邮件,然后您可以创建命令php app/console swiftmailer:spool:clear 来取消链接所有文件并在swiftmailer:spool:send 之后运行此命令。

    【讨论】:

    • 是的,但是我如何传递要取消链接的文件的引用?
    • 如果您要发送所有电子邮件,您可以取消所有文件的链接。仍然存在在两个命令之间创建文件的边缘情况,因此您可以删除早于 x 分钟的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多