Ik zit al tijden met een probleem, Voor mijn facturatie systeem wil ik automatisch pdf files laten verzenden via een cronjob.
Ik heb het nu zover dat hij pdf verzend in een bijlage als je de link bezoekt.
Doet de cronjob het dan verzend hij helemaal niks. Als ik het factuur script eruit haal verzend hij dit wel gewoon, het schijnt ook te zijn dat je maar 1 factuur kan verzenden omdat pdf niet in een while loop kan.
Heeft iemand een idee wat het kan zijn, ik ben al zo'n 3 dagen erna op zoek om het op te lossen.
Hm, ik vermoed dat dit een probleem is met de "interne verwijzing" naar een (te genereren?) PDF-bestand? Volgens mij heb je niet de beschikking over $_SERVER['DOCUMENT_ROOT'] e.d. in een cron (ik kan me vergissen).
Dump de output van een cron eens naar een bestand of log of roep je php-script dat wordt uitgevoerd door een cron eens handmatig aan? Waarschijnlijk krijg je dan foutmeldingen over het een of ander.
Een andere mogelijke oorzaak is een timeout van het script.
Ik ben ongeveer nu anderhalf uur bezig geweest met het oplossen van het probleem, door hem steeds een mailtje te laten verzenden.
Na elke regel omdat ik geen error kreeg als ik de pagina aanriep en kwam deze wel gewoon aan. Ik ben tot de conclusie gekomen dat ik de gehele root bestand moest opgeven, van mijn server.
En het probleem is nu opgelost en hij verzend de facturen via de cronjob..
Ik heb nog wel even 2 andere vragen.
Ik ben op zoek naar een simpel mail script die 1 email stuur naar de admin als iets uit geschakeld moet worden die dag.
Het komt uit de database, En ik probeerde het met een while loop maar dat werkte niet, Is dit op een andere manier mogelijk?
En de laatste vraag, Er kan maar 1 factuur te gelijk verzenden worden anders krijg je een error als je hem in een while loop zet. Is dat op te lossen?
Ik ben op zoek naar een simpel mail script die 1 email stuur naar de admin als iets uit geschakeld moet worden die dag.
Als je het kunt specificeren, kun je het programmeren .
Citaat:
En de laatste vraag, Er kan maar 1 factuur te gelijk verzenden worden anders krijg je een error als je hem in een while loop zet. Is dat op te lossen?
Eh, als je weet waar die error vandaan komt wel he . Wat gaat er precies mis?
Ik ben zelf beheerder van een huurwoningsite, en deze verstuurt m.b.v. cronjobs op gezette tijden mail.
Hiervoor draaien er meerdere cronjobs:
- een cronjob om mailtjes te bouwen als dit op een bepaald moment nodig is (ditwordt op grond van een aantal condities bepaald). De te versturen mail wordt dan klaargezet in de database (tabel "outbox") om verstuurd te worden
- een cronjob die kijkt of er mail in "outbox" zit - zoja, dan wordt er (elk kwartier) een batch van 50 verstuurd
Misschien is het in jouw geval ook een idee om het bouwen en versturen in verschillende stappen op te delen?
Hij verzend nu 4x een apparte mail omdat er als test 4 bestellingen erin staan. Ik zou graag willen dat hij het klantnummer 4x erin zet en dan 1x een mail verzend.
Misschien is het zo ietjes duidelijker uit gelegt :-)
Over de andere vraag, ik heb hem nu zo kunnen zetten dat hij 1x een factuur stuurt met dat tijd stip en bij de volgende controle nu in een minuut wordt op 5 a 10 minuten gezet. Pakt hij gewoon de gene die als eerst werdt toegevoegd, volgens mij werkt het zo erg goed!
Werkt via time, Dit loopt dan volledig automatisch, alleen de factuurnummers die verzonden zijn moeten naar ons verzonden worden.
Thomas - 06/11/2006 14:51 (laatste wijziging 06/11/2006 14:52)
<?php
include 'mysql.php';
$geefgegevensb = mysql_query("SELECT * FROM bestelling") or die(mysql_error());
// alleen mail versturen als er iets te versturen valt
if(sizeof($geefgegevensb))
{
// verzamel gegevens in $nummers
$nummers = array();
while($resultb = mysql_fetch_object($geefgegevensb))
{
$nummers[] = $resultb->klantnummer;
}
// mail!
mail("info@jcegns.nl", "Test",implode(", ", $nummers), "From: test <bestellingen@jcegns.nl>");
}
?>