Nahum Fabian
Nahum Fabian

Reputation: 180

Send mails with PHP regularly at a specific time

I have three mysql tables; Users, Tasks and Task_Users, where each user can create their tasks through a web application I'm developing in PHP.

The thing is, I want my application to send an email to the users one day before the task occurs. The first thing that came to my mind was to do a MySQL job or trigger to send the email but I dont have an idea of how to do id,

What would be the best way make this happen or how could I call a job through PHP and execute it every day and verify that there is just one day left before the taks ocurrs and then if that is true send the email?

Here's my table definition. Thanks in advance.

Users
----------
UserId,Names,email,pass

Tasks
------------
TaskId,TaskName,Descripcion,TaskDateTime

Tasks_Users
------------
TaskId,UserID

Upvotes: 1

Views: 1851

Answers (2)

Techie
Techie

Reputation: 45124

You can write a CRON Job for this.

What's CRON Job ?

Cron is the name of program that enables unix users to execute commands or scripts (groups of commands) automatically at a specified time/date. It is normally used for sys admin commands, like makewhatis, which builds a search database for the man -k command, or for running a backup script, but can be used for anything. A common use for it today is connecting to the internet and downloading your email.

What do you have to do ?

Just write a normal PHP script. make one that will work if it's launched directly from the browser. Then schedule that very same PHP file to run in cron, using this as a guide:

How to run a CRON Job after it's written ?

http://www.inmotionhosting.com/support/edu/cpanel/301-run-cron-job

If you have any issues let me know.

Upvotes: 3

AlienHoboken
AlienHoboken

Reputation: 2800

I'd make a cron job that regularly runs a script (say every 5min?) which checks for tasks that need emails sent. Then the script script sends the necessary emails.

*/5 * * * * php /path/to/script.php

Would call script.php, which checks and sends emails, every 5minutes.

Some info on cron is here: http://www.pantz.org/software/cron/croninfo.html

Upvotes: 0

Related Questions