Home  >  Article  >  Backend Development  >  如何实现自动发送email的功能

如何实现自动发送email的功能

WBOY
WBOYOriginal
2016-06-23 14:22:50938browse

email 邮件 自动发送

想实现这样一个功能:有个deadline的时间限制,若当天与deadline的时间限制相差30天时,则向一个固定email账号自动发送邮件。

想想可能觉得不是太难,其实,时间检测以及发送email的功能以及实现我都知道。关键难点在于,拥有这个功能的主体软件很少打开,或者是在需要时才打开。这可能就导致在与deadline相差30天时这个软件没有打开,从而无法实现自动发送email的功能。

这个该如何解决呢?
如果有大侠能够提供模板或者案例代码,小弟感激不尽。

回复讨论(解决方案)

其实我想问的就是:有什么方法能够实现在不打开主体软件时就能自动发送邮件到固定账号。当然该软件是安装在本地服务器上,而这个服务器是不关闭的,一直开着的。

你这个需要用到批处理。linux中的话就是shell。

我这个是php+mysql的环境,那该如何做呢?

发送检测功能写到一个php里面,用cron 创建个任务比如一天运行一次脚本,脚本内容就用curl去本地访问一次,如何?

听起来不错,似乎是个好思路。时间检测和发送email的代码我都了解,但其他的该如何架构呢?

发送检测功能写到一个php里面,用cron 创建个任务比如一天运行一次脚本,脚本内容就用curl去本地访问一次,如何?

其他的我都会,但就是这个:cron 创建个任务比如一天运行一次脚本。
这个有没有案例或者模板,或者代码参考呢?

听起来不错,似乎是个好思路。时间检测和发送email的代码我都了解,但其他的该如何架构呢?

脚本内容 send_mail.sh

# /bin/shcurl "http://localhost/xxx/xx.php"


crontab 设置比如每天凌晨1点执行
0 1 * * * /home/xxx/xxx/send_mail.sh


听起来不错,似乎是个好思路。时间检测和发送email的代码我都了解,但其他的该如何架构呢?

脚本内容 send_mail.sh

# /bin/shcurl "http://localhost/xxx/xx.php"


crontab 设置比如每天凌晨1点执行
0 1 * * * /home/xxx/xxx/send_mail.sh

本来还想问你crontab 创建任务的具体情况,后来想想可以自己去查。
如果你手头有案例或者代码案例,可否随手贴给我?
莫见怪,俺是新手,我连crontab 创建任务的脚本放在哪里都还不清楚。当然,我会查查看。
谢谢啊。

直接用crontab -e就可以进入编辑了,任务是和当前登录的用户相关的,编辑后保存就生效了。

谢谢啊,大致清楚了。
我现在就试试,有什么情况再向各位请教啊。

那你只能定时到某日某时发送,比如每天几点几分发送,不能通过程序计算时间发送

直接 cron+phpcli

那你只能定时到某日某时发送,比如每天几点几分发送,不能通过程序计算时间发送

哦,我肯定是想要通过php程序检查mysql里面的数据进行有选择性的发送的。我肯定不需要那种只能 定时到某日某时 发送特定邮件。

直接 cron+phpcli

正要试试,版主能否说的清楚点 cron+phpcli?  
上面有人说cron建立一个task, 每天固定时间调用一个Php文件并且执行。我在这个文件中设置了连接数据库、检查条件、选择性发送email等功能。
上述思路可否?你说的Phpcli是啥技术?能否多点指导?

http://blog.csdn.net/fangchongbory/article/details/7586275


直接 cron+phpcli

正要试试,版主能否说的清楚点 cron+phpcli?  
上面有人说cron建立一个task, 每天固定时间调用一个Php文件并且执行。我在这个文件中设置了连接数据库、检查条件、选择性发送email等功能。
上述思路可否?你说的Phpcli是啥技术?能否多点指导?

都差不多 只是我说直接在命令行下操作 而不是你上面的curl方式...

结贴。
分数主要给hmmxyz,其他的人见着有份吧。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn