【问题标题】:Sending large number of emails with attachments in Cakephp在 Cakephp 中发送大量带有附件的电子邮件
【发布时间】:2014-06-30 18:38:37
【问题描述】:

我正在使用 CakeEmail 循环发送大约 7000 封电子邮件。但是当我发送带有大约(1kb)小附件的电子邮件时,它工作正常。但是,当我使用更大的附件文件(例如 800kb 大小)时,发送一些电子邮件后可能是 23 或 60 个。但没有完成该过程。

页面退出并给出消息“此网页不可用”

代码在循环中,每个 CakeEmail 都被初始化为发送到一个电子邮件地址

我尝试过使用

set_time_limit(0);

但是没有用。

谁能帮我看看为什么它不能使用 800kb 的附件发送?

【问题讨论】:

    标签: php cakephp cakephp-2.0


    【解决方案1】:

    一些共享服务器不允许运行较长的脚本,因此不允许覆盖时间限制。

    也许您可以一次发送 10 封电子邮件,然后将浏览器重定向到同一页面以发送另外 10 封电子邮件。只需使用 DB LIMIT 子句获取特定的 10 封电子邮件。

    或者您也可以创建一个 cron 作业以通过 shell 运行脚本。

    PS - 请提供您正在使用的代码,以便我帮助修改它

    【讨论】:

    • 但是当我发送了 7000 封 100kb 附件的电子邮件时,它刚刚发送成功。发送所有电子邮件大约需要 15 分钟。所以它不是执行时间吗?
    • 是共享服务器吗?你有什么内存?
    • 只检查允许的最大上传。参考本页helpspot.com/helpdesk/index.php?pg=kb.page&id=34
    • 好的,但我在点击按钮发送之前将该文件保存到服务器
    • 您的邮件引擎处理程序是什么?也许服务器设置为在限制后丢弃流量。垃圾邮件过滤器尝试检测员工,例如数千封电子邮件,然后是电子邮件附件的大小、过去一段时间内的总请求大小等。一条规则可能会通过,但综合起来会失败。您可以在电子邮件之间尝试sleep(1),看看它是否会增加您的限制,甚至是其他服务,例如批量电子邮件 SMTP 提供商。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多