02. januar 2006 - 22:42Der er
8 kommentarer og 1 løsning
Send email på bestemt dato
Hej. Jeg er ved at lave et huskesystem, der sender emails på bestemte datoer. Jeg har i MySql oprettet nogle poster. Der er 4 felter: dato, email, emne, tekst. Tanken er, at der tjekkes hver dag, om der er en post med dato = d.d. I tilfælde heraf, sendes en email til postens emailadresse med postens emne og tekst. Men jeg er på bar bund mht. PHP koderne. Mon er der en venlig sjæl? Jeg opretter bare posterne direkte i MySql. Udbyder tilbyder i øvrigt, at "køre" filen hver dag. ALternativt kan jeg lægge koden inde i hjemmesidens index-fil, da der er hits hver dag.
Hurra - det virker allerede. Men alligelvel 2 følge problemer: 1. Når jeg modtager emailen, kan jeg se, at emailen er sendt fra "server@legaard" (Elitehost). Kan jeg ændre denne tekst? 2. Hvis jeg sætter koden ind i hovedfilen for hjemmesiden, vil emailen blive sendt hver gang der er et hit. Hvis jeg opretter et felt mere i tabellen, kan jeg bruge den som en slags markering (feltet kalder jeg "tjek". Altså inden emailen sendes, tjekkes feltet, og hvis ingen indhold, så sendes emailen. Når emailen er sendt, sættes data i feltet, så der ikke sendes igen, når der igen er hit. Vil du hjælpe med koden til dette også?
1'eren kan du løse: mail($row['email'], $row['emne'], $row['tekst'], 'From: din@adresse.dk');
Angående 2'eren, så synes jeg helt sikkert du skal tage imod din host's tilbud om at køre det som et cron-job én gang om dagen. Ellers skal du have et felt, som du f.eks. opdaterer således: mysql_query("UPDATE tabelnavn SET mail_sendt = 'ja' WHERE datofelt = CURDATE()"); og så dit udtræk: $query = mysql_query("SELECT * FROM tabelnavn WHERE datofelt = CURDATE() AND mail_sendt = 'nej'");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.