如何在php中定时发送邮件?

发布于 2024-10-09 09:42:23 字数 133 浏览 3 评论 0原文

我想构建一个应用程序,使用户能够安排随时发送电子邮件。简单地说,编写电子邮件消息并安排它,以便服务器在指定的时间发送它。我正在使用 zend 框架。如何在 php 中做到这一点?可以用 cron 作业来完成吗?如果是,那么使用 cron 的缺点是什么?

I want to build an application that enables users to schedule emails to send any time. simply, write email message and schedule it so that the server sends it at time specified. I am using zend framework. How to do it in php? Can it be done with cron jobs? If yes, then what are the disadvantages of using cron?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苦妄 2024-10-16 09:42:23

可以用 cron 作业来完成吗?

Cron 是一个在类 Unix 计算机上运行的基于时间的作业调度程序系统。 cron 这个名字来源于单词“chronos”,希腊语中“时间”的意思。1 Cron 使用户能够安排作业(命令或 shell 脚本)在特定时间或日期定期运行。它通常用于自动化系统维护或管理,尽管其通用性质意味着它可以用于其他目的,例如连接到互联网和下载电子邮件。

http://ubuntuforums.org/showthread.php?t=586478

我会运行每分钟执行一次 cron 作业并检查是否有任何邮件可供安排。下面引用的论坛主题指导如何每分钟运行 cron。

crontab -e

然后设置一个选项卡,例如

* * * * * /命令

第一颗星是分钟部分,
所以那里有一颗星星就会执行
每分钟

如果你这样说的话会更清楚
每 5 分钟想要一次,那么就可以了

*/5 * * * * /命令/执行

其他星星从左到右

分钟 小时 日 月 月
星期几*

*0=周日

cron 的缺点?

如果是,那么是什么
使用 cron 的缺点

当执行大量 cronjobs 时,您将不得不产生大量进程(产生昂贵的进程成本)。在这种情况下,最好让后台进程持续运行并从消息队列中获取消息。但是,当您只想每分钟运行一次 cronjob 时,我认为这不会是一个大问题。

can it be done with cron jobs?

Cron is a time-based job scheduler in Unix-like computer operating systems. The name cron comes from the word "chronos", Greek for "time".1 Cron enables users to schedule jobs (commands or shell scripts) to run periodically at certain times or dates. It is commonly used to automate system maintenance or administration, though its general-purpose nature means that it can be used for other purposes, such as connecting to the Internet and downloading email.

http://ubuntuforums.org/showthread.php?t=586478

I would run a cron job every minute and check if there are any mails ready to be scheduled. The quote from the forum topic below instructs how to run cron every minute.

crontab -e

then set a tab like

* * * * * /command

The first star is the minute section,
so having a star there will execute
every minute

In case it makes it more clear if you
wanted every 5 mins then it would be

*/5 * * * * /command/to/execute

And the other stars are from left to
right

minute hour dayofmonth month
dayofweek*

*0=sunday

Disadvantages of cron?

if yes, then what are the
disadvantages of using cron

When doing a lot of cronjobs you will have to spawn a lot of processes(pay cost of spawning process which is expensive). In that case it would be better to have background process(es) running continually and fetch messages from message queue. But when you want to run a cronjob only ever minute than I assume this will not be a big case.

你的背包 2024-10-16 09:42:23

我会使用 cron 作业来解决这个问题。

只需创建一个脚本来检查在特定时间发送的消息。用户安排在下午 1 点(当然使用数据库),脚本每 5 分钟左右运行一次,并检查(数据库)当前时间是否有任何消息要发出?如果是这样,它会发送电子邮件,否则它会休眠。

干净而简单的处理方式。

缺点?

我看不出有什么缺点,这就是 cron 的用途,在特定时间运行任务。

I would tackle this using a cron job.

Simply create a script that checks for messages to send at a certain time. The user schedules for say 1PM (using a database of course), the script runs every 5 min, or so, and it checks (the db), are there any messages to go out for the current time? If so, it sends out the emails, else it sleeps.

Clean and simple way of handling it.

Disadvantages?

I can't see any, this is what a cron is made for, running tasks at specific times.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文