PHP通过SMTP发送电子邮件非常慢

时间:2016-04-04 20:37:27

标签: php email smtp

我使用swift邮件编写了一个脚本来通过smtp发送电子邮件。我注意到由于smtp发送,脚本加载需要相当长的时间。

我认为将该电子邮件发送到单独的文件中是个好主意。我现在唯一的问题是我需要打开文件。

我不想使用fopen或类似的东西,因为我希望该文件可以“在后台”运行。

没有cronjob可能吗?有没有办法在没有用户注意的情况下触发该文件?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以通过调用命令行php

来使用exec来执行此操作
exec('php script.php >/dev/null 2>&1 &');

答案 1 :(得分:0)

另一种选择是拥有一个cron脚本和队列表(如果你的流量很低)

运行php后台作业的坏处是拒绝服务风险。 Cron可以每2分钟运行一次,杀死另一个正在运行的实例并处理邮件队列。 通过产生新流程来运行后台作业是有风险的。而且你必须记住 - 永远不要将用户定义的变量传递给后台进程。