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?

<?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.