[php] een mail versturen, enkele uren na bezoeken pagina

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allemaal,

ik ben bezig met een notificatie systeem in php en ik wil een email laten verzenden enkele dagen of uren nadat het script is uitgevoerd. In de tussentijd zal de pagina ongetwijfelt worden afgesloten. De vertraging van de mail zal van te voren in een database worden bepaald, waarna de opdracht gegeven word het bericht te versturen moet er een bedenkperiode van enkele uren/dagen worden ingelast.

Zelf zat ik te denken aan om met php een cron opdracht aan te maken in een apart bestand en deze een tegelijk aangemaakt php script te laten uitvoeren. Als iemand zich bedenkt kan een php-script deze bestand weer verwijderen.

Ik heb zelf nog geen ervaring met ene oplossing van deze aard, misschien weten jullie iets meer voor de hand liggends/simpelers? Omdat de pagina gesloten word na het "activeren' van de procedure die de mails verstuurd denk ik dat het een leerzaam thread gaat worden. alvast bedank voor jullie ideeen/reacties.

Acties:
  • 0 Henk 'm!

  • Gamebuster
  • Registratie: Juli 2007
  • Laatst online: 15-09 23:08
Lijstje met te-sturen mails in de database opslaan. Dan met een cronjob iedere X minuten de mailtjes versturen.

mail1 | tijd
=========
abc | 12:22
cde | 13:32

en dan haal je met een query alle mailtjes op waarvan de tijd lager is dan de huidige tijd.

houdt er rekening mee dat het versturen van veel mailtjes problemen kan geven en je zal dus set_time_limit(0) moeten gebruiken om ervoor te zorgen dat alles verzonden wordt.

[ Voor 25% gewijzigd door Gamebuster op 26-07-2009 15:42 ]

Let op: Mijn post bevat meningen, aannames of onwaarheden


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank je wel voor je reactie. ik heb je advies aangenomen en ben het op die manier gaan doen.
Maar ik ben al tegen een issue aangelopen helaas:

<?php
include ('********_readonly.php');
include ('../includes/functions.php');

mysql_select_db($database_*********, $*********);
$query_exectionAlerts = "SELECT alrts_passnr, alrts_type, alrts_contactstring, alrts_data, alrts_executionDate FROM alerts ";
$exectionAlerts = mysql_query($query_exectionAlerts, $*********) or die(mysql_error());
$row_exectionAlerts = mysql_fetch_assoc($exectionAlerts);
$totalRows_exectionAlerts = mysql_num_rows($exectionAlerts);

echo ($exectionAlerts['alrts_executionDate']);

//echo (time());
?>

dit word het script dat CRON uit gaat voeren en dat de mail-gegevens uit de database haalt. Heeft iemand enig idee waarom dit geen results geeft?

[ Voor 9% gewijzigd door Verwijderd op 26-07-2009 17:53 ]


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Gewoon zelf debuggen voortaan. Hint: $exectionAlerts is geen array.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ohh wat dom van me. ik ga naar bed dit schiet niet op zo xD