DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   PHP (http://www.daniweb.com/forums/forum17.html)
-   -   help sending email at a future date using php (http://www.daniweb.com/forums/thread166912.html)

cali_dotcom Jan 7th, 2009 10:28 pm
help sending email at a future date using php
 
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?

ashafaaiz Jan 8th, 2009 2:37 am
Re: help sending email at a future date using php
 
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?

mschroeder Jan 8th, 2009 10:35 am
Re: help sending email at a future date using php
 
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.p...ux_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.

!Unreal Jan 9th, 2009 7:49 am
Re: help sending email at a future date using php
 
<?php
if (date('j, n, Y') == '10, 3, 2009') {
  mail('mail@example.com', 'Subject', 'Message');
}
?>

Ive not tested it but it should work :)

mschroeder Jan 9th, 2009 9:33 am
Re: help sending email at a future date using php
 
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.


All times are GMT -4. The time now is 8:55 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC