Avatar billede matz Nybegynder
25. september 2007 - 09:58 Der er 15 kommentarer og
1 løsning

Send mail efter 1 uge

Hvordan kan jeg automatisk sende en mail 1 uge efter dato er sat i databasen? Selvfølgelig ved brug af mail()
Avatar billede michael_stim Ekspert
25. september 2007 - 10:14 #1
Du kan jo öre et script der sammenligner dags dato med den du har i tabellen. Er den en uge äldre körer du dit mailscript og sätter en värdi i tabellen der siger at den er sendt (så du ikke sender samme mail hver gang der kommer nogen ind på siden). Bagdelen er hvis der ikke er nogen der kommer ind på siden den dag, så bliver scriptet ikke aktiveret.
Avatar billede michael_stim Ekspert
25. september 2007 - 10:15 #2
Ellers er der et cronjob. Men det skal så göres dynamisk, ved ikke lige hvordan det fungerer.
Avatar billede matz Nybegynder
25. september 2007 - 10:32 #3
Ellers ville det være nemmere at gøre det så når man trykker på et link vil der blive sendt en mail. Ved siden af linket kan man så se hvor mange dage der er gået efter dato er sat i databasen?
Avatar billede nielle Nybegynder
25. september 2007 - 11:40 #4
Løsningen er nok at lave det som et cronjob.

1) Opret en tabel over de mails som skal sendes, og hvionår de skal dette.
2) Lav et script som kigger i denne tabel og ser om der er mails som skal "sendes lige nu". Hvis der er dette, sendes mailen og rækken slettes fra tabellen.
3) Sæt et cronjob til at køre dette script med et eller andet jævnt interval.

Når du har en mail som skal sendes om en 1 uge smider du en række i tabellen og sætter afsendelsens datoen til om en uge.
Avatar billede matz Nybegynder
25. september 2007 - 11:52 #5
Nu kender jeg intet til cronjob, så jeg ved ikke rigtig hvordan jeg skal begynde?
Avatar billede nielle Nybegynder
25. september 2007 - 12:31 #6
Det webhotel skal tilbyde dem - så det skal du undersøge først.

Hvis de ikke gør det kan du prøve med en ekstern service som cronjob.de
Avatar billede matz Nybegynder
25. september 2007 - 13:04 #7
Det understøtter ikke cronjob...Jeg tror det nemmeste for mig ville så være at gøre det manuelt med at sætte et "kryds" i database feltet.
Avatar billede nielle Nybegynder
25. september 2007 - 18:18 #8
Det smarte ved at gøre det via et cronjob (altså cronjob.de i dit tilfælde) er at du så slipper for at skulle holde øje med om der er breve som skal sendes. Du kan f.eks. holde ferie uden at bekymre dig om dit system...
Avatar billede leif Seniormester
26. september 2007 - 12:55 #9
Skal det være præcis 1 uge efter ?

Alternativt er at have en lille stump kode i sin index.php som kontrollerer om der skal sendes og hvis Ja, så sender den mailsne for dig, men det kræver så at din side loades ellers vil siden ikke sende mailsne.


Derfor er den optimalle løsning som flere skriver cronjob
Avatar billede nielle Nybegynder
07. oktober 2007 - 11:22 #10
Har du fået kigget på det?
Avatar billede nielle Nybegynder
16. oktober 2007 - 08:26 #11
??
Avatar billede matz Nybegynder
16. oktober 2007 - 13:03 #12
Ja det må blive manuelt... Lig et svar nielle :)
Avatar billede leif Seniormester
16. oktober 2007 - 16:10 #13
Hvorfor så ikke den lidt alternative løsning jeg kom med ?
Avatar billede nielle Nybegynder
16. oktober 2007 - 16:15 #14
Tja, jeg synes da også at der er kommet et par forslag som slår at gøre det manuelt?
Avatar billede matz Nybegynder
31. oktober 2007 - 11:02 #15
nielle lig et svar
Avatar billede nielle Nybegynder
31. oktober 2007 - 17:41 #16
Jeg synes at du skylder leif et svar på spørgsmålet.

... i mellemtiden får du et svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester