Avatar billede azez Nybegynder
09. februar 2003 - 16:21 Der er 21 kommentarer og
1 løsning

automatisk ting

Hej folkens

Hvordan kan jeg få noget til at sende en mail automatisk.
forklaring

jeg har en hjemmeside, hvor nogle folk kan logge sig ind. Hvis de ikke har gjort dette i en måned, skal de have en mail. dvs. at noget skal tjekke en gang om dagen om de skal have mail....

but how.... :-)
Avatar billede fangel Nybegynder
09. februar 2003 - 16:23 #1
hvilket programerings sprog, og hvilket OS?
Avatar billede azez Nybegynder
09. februar 2003 - 16:24 #2
tja... det er på en win server...

hvilke sprog kan man lave det i.
jeg er stærkest i vb og pascal...
Avatar billede jakoba Nybegynder
09. februar 2003 - 16:25 #3
Du får brug for noget serverside kode for at kunne gøre dette. Hvad har du adgang til?
Avatar billede azez Nybegynder
09. februar 2003 - 16:26 #4
det ved jeg ikke.. har jepponet som udbyder af webplads...
Avatar billede jakoba Nybegynder
09. februar 2003 - 16:26 #5
take it morten :-))  jeg er en klovn til .asp
Avatar billede arne_v Ekspert
09. februar 2003 - 16:27 #6
Du gemmer tidspunt for sidste login sammen med deres brugernavn.

Så laver du et lille program som løber igennem alle brugere
og sender en email, hvis sidste login - nu er større end en
måned.

Så konfiguerer du et job til at jøre dette program en gang i
døgnet.

Hvis du vil have et mere detaljeret råd, så bliver du nødt til at forklare
mere om konteksten.
Avatar billede azez Nybegynder
09. februar 2003 - 16:28 #7
ok... men problemet er så hvordan jeg får det til at kører den ene gang i døgnet.... ?
Avatar billede fangel Nybegynder
09. februar 2003 - 16:30 #8
hvis du har Win, kan du bruge "taskmanageer" til opgaven...
Avatar billede azez Nybegynder
09. februar 2003 - 16:30 #9
jamen det er ikke mig selv som hoster det....
Avatar billede arne_v Ekspert
09. februar 2003 - 16:31 #10
Det første du skal gøre er at sikre at login tidspunkterne bliver gemt
i databasen.

Så skal du finde ud af om du kan accesse databasen direkte fra dig af.

Hvis ja så skriver du bare dit program i VB eller Pascal og kører det
hos dig.

Hvsi nej (hvilket de fleste web-hottelr vil sige af sikkerheds-hensyn)
så skal du have kørt din kode på serveren.

F.eks. ved at embedde noget VB kode i en "check login" administrator side.

Denne side kune du så trigge af et andet program som kører hos dig.
Avatar billede arne_v Ekspert
09. februar 2003 - 16:32 #11
Du kan sagtens konfigere din Win til at køre et program hos
dig en gang i døgnet som connecter til en web-server og får
den til at køre en ASP side som sender email ud.
Avatar billede azez Nybegynder
09. februar 2003 - 16:33 #12
så dvs at det i bund og grund er afhængigt af at min pc også er tændt.... intet der bare kan køre automatisk ?
Avatar billede arne_v Ekspert
09. februar 2003 - 16:36 #13
Hvis det skal køre selævom din Pc er slukket, så skal
du have dit web-hotel til at køre dit program regel-mæssigt.
Det tror jeg ikke ret mange web-hoteller gør. Men du kan jo spørge dem.
Avatar billede azez Nybegynder
09. februar 2003 - 16:39 #14
hmm... det er skidt... er der virkelig ingen måde ?
Avatar billede arne_v Ekspert
09. februar 2003 - 16:45 #15
Jeg kan ikke umiddelbart se nogen muligheder udover dem der har været
nævnt.
Avatar billede jakoba Nybegynder
09. februar 2003 - 16:47 #16
Jo du kan godt 'snyde' lidt med opdateringen. Det er jo ikke så vigtig at den mail bliver sendt på den præcist korrekte dato. en dag fra eller til skader ikke.

så hvis du blot har et par besøgende hver dag kan du lade din 'send mails funktion' blive startet af besøg på siden:

lav 2 felter i databasen ved hver registreret bruger:
sidstebesoeg  datofelt
sendtmail      booleanfelt

hvergang en bruger kikker ind opdaterer du hans datofelt, og sætter samtidig sendtmail til false.
derefter laver du arne-v's søgning

select brugerdata
from brugertabel
where sidstebesoeg < now() -(31 dage)
  and sendtmail = false

check på sendtmail så det ikke bliver sendt 10.000 mails hvis han ikke besøger umiddelbart efter første mail.

det er de mennesker der skal sendes en mail til så send mails

så mangler vil blot at opdatere tabellen så vi husker hvenm der er sendt mails til:

update tabel brugertabel
  set sendtmail = true
where brugerid = ( en af dem vi fandt i første søgning )
  and sidstebesoeg < now() -(31 dage)
  and sendtmail = false

mvh JakobA
Avatar billede azez Nybegynder
09. februar 2003 - 16:47 #17
er der andre som har nogle idéer
hvad med cgi eller er det slet ikke noget... (aner det nemlig ikke)
Avatar billede azez Nybegynder
09. februar 2003 - 16:50 #18
jakoba --> har selv tænkt på den... men blev enig med mig selv om at jeg vil finde ud af hvordan det kunne ske helt uden nogle former for brugerinteraktioner.... :-)
Avatar billede arne_v Ekspert
09. februar 2003 - 16:50 #19
CGI er jo bare en anden (lidt gammeldags) måde at lave script på.

Det ændrer ikke på at et eller andet skal initiere check og mail-send.
Avatar billede arne_v Ekspert
09. februar 2003 - 16:52 #20
Jakobs ide med at lade et besøg trigge afsendelse kunne
være en snedig måde at løse problemet på. Det havde jeg ikke
tænkt på.

Men vær meget forsigtig med kodningen, hvis du vælger den løsning.

Web-Servere er ikke single-threaded og du vil jo nødig have
sende 10 eller 100 emails til hver bruger.
Avatar billede azez Nybegynder
09. februar 2003 - 16:53 #21
dvs. at processerne ikke bliver sat i kø... kan man bruge en semaphore ?
Avatar billede azez Nybegynder
27. april 2004 - 20:49 #22
over 1 år siden sidste svar ?!? nå lukker
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
Kurser inden for grundlæggende programmering

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