hi, i'm a newbie to php and i'm building a website right now. i giving the users the option to create and send
news letters. i also want to give them the option of sending the newsletters at a later date i.e they can create the newsletters, choose a date and time they would like to have it sent, and then save it, so that at the said time, the mail would be automatically sent.
can anyone help me out with this?
i heard about cron, but it seems its just for unix users and it seems kind of complicated. does anyone have a simpler/better alternative?

Recommended Answers

All 4 Replies

Hi,
I have one simple idea. Store your prescribed date and time in a php variable. Then get system data and time in another variable.
Now, check the condition if system date and time is equal to prescribed date and time, if it is ok then send email else dont send your email. Am i right?

unless your site has a constant consistent flow of traffic, cron (nix) / Task Scheduler (windows) would be the only way to accurately do this.

On windows you would need to use the task scheduler. http://www.sugarcrm.com/wiki/index.php?title=Scheduling_cron.php_to_run_on_Windows%2C_Linux_or_Mac_OS_X
This is specific to SugarCRM's setup, but the concept is really easy and you should be able to figure it out.

<?php
if (date('j, n, Y') == '10, 3, 2009') {
  mail('mail@example.com', 'Subject', 'Message');
}
?>

Ive not tested it but it should work :)

That is a perfectly fine solution, but unless there is someone visiting that page on that date at a certain time, there is no way to force it to be sent:

  1. user creates the email
  2. user schedules it for 01/10/2009 @ 15:00:00
  3. user exits
  4. no new visitors till 01/13/2009
  5. email doesnt send till earliest 01/13/2009

With cron or task scheduler this is avoided.
Just call a script that calls up all the pending emails and sends anything older than the current time.
Depending on how frequently cron is running, every minute, every 10 minutes, etc would be the longest a user would have to wait for their email to get picked up by the system.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.