Avatar billede maximus25 Nybegynder
16. juli 2004 - 08:28 Der er 23 kommentarer og
1 løsning

Automatisk afsendelse af email

Hejsa
Jeg har lavet en fælles kalender som virker fint. Jeg ville gerne gøre det muligt at den bruger som skal huske noget får tilsendt en email med en påmindelse dagen før aftalen.

Hvordan kan man lave dette?
Avatar billede para7 Nybegynder
16. juli 2004 - 08:45 #1
Har du adgang til jMail?
Avatar billede maximus25 Nybegynder
16. juli 2004 - 08:57 #2
det kan jeg få hvis det kræves
Avatar billede para7 Nybegynder
16. juli 2004 - 09:18 #3
OK. jMail kan downloades gratis til localhost brug og er let at bruge, når man først kender det. Så jeg har strikket noget sammen. Det skal jo nok integreres lidt. Men med i en åben databaseforbindelse burde det virke:

If DateDiff("d", Now, rs("BegivenhedsDato")) < 2 Then
    Server.ScriptTimeout = 6000
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.Silent = true
    JMail.Logging = true
    jMail.sendername = WebstedTitel
    JMail.ServerAddress = "xx.xxx.xxx.xxx"    'webserver ip  for afsendelse af mail
    JMail.Sender = WebstedEmail  ' afsenderens E-mail der vises som afsender - webstedet
    JMail.Subject = WebstedTitel & " - I morgen har du en aftale i kalenderen"
    body = "Dette er en reminder om at du har en aftale i kalenderen på " & WebstedTitel & "<b<><br><br>"
    body = body & "Med venlig hilsen<br><br>"
    Plink = "http://" & request.servervariables("SERVER_NAME")
    body = body & "<br><br><br><font  face='arial' size='2'><b>" & portalTitel & " " & portalNavn & " netadresse:<br>"
    body = body & "<a href='http://" & request.servervariables("SERVER_NAME") & "' style='font-family:Verdana, Arial; color:green; letter-spacing:2px'>"
    body = body & webstedTitel & "</a></b></font><br><br><br>"
    jMail.ContentType  = "text/html"
    JMail.Priority = 3
    JMail.Body = body
    JMail.Execute
    Set JMail = Nothing
End If
Avatar billede para7 Nybegynder
16. juli 2004 - 09:22 #4
Der er lige et par slåfejl, så her kommer det igen:

If DateDiff("d", Now, rs("BegivenhedsDato")) < 2 Then
    Server.ScriptTimeout = 6000
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.Silent = true
    JMail.Logging = true
    jMail.sendername = WebstedTitel
    JMail.ServerAddress = "xx.xxx.xxx.xxx"    'webserver ip for afsendelse af mail
    JMail.Sender = WebstedEmail  ' afsenderens E-mail der vises som afsender - webstedet
    JMail.Subject = WebstedTitel & " - I morgen har du en aftale i kalenderen"
    body = "Dette er en reminder om at du har en aftale i kalenderen på " & WebstedTitel & "<br><br><br>"
    body = body & "Med venlig hilsen<br><br>"
    Plink = "http://" & request.servervariables("SERVER_NAME")
    body = body & "<br><br><br><font  face='arial' size='2'><b>" & webstedTitel & " " & portalNavn & " netadresse:<br>"
    body = body & "<a href='http://" & request.servervariables("SERVER_NAME") & "' style='font-family:Verdana, Arial; color:green; letter-spacing:2px'>"
    body = body & webstedTitel & "</a></b></font><br><br><br>"
    jMail.ContentType  = "text/html"
    JMail.Priority = 3
    JMail.Body = body
    JMail.Execute
    Set JMail = Nothing
End If
Avatar billede para7 Nybegynder
16. juli 2004 - 09:38 #5
jMail i den gratis version kan downloades på http://www.dimac.net/
Vælg Free Downloads - A2001 w3Jmail Free Download
Avatar billede maximus25 Nybegynder
16. juli 2004 - 10:18 #6
det ser jo ud til at være noget af det rigtige:)....

Jeg kender ikke rigtig noget til denne mailkomponent...hvor meget skal jeg fjerne bare for at lave en test??
Avatar billede maximus25 Nybegynder
16. juli 2004 - 10:34 #7
min mailserver står mit i et domæne og fungerer som almindelig klient.
Dog er der installeret iis til at køre websereveren.
Avatar billede para7 Nybegynder
16. juli 2004 - 10:38 #8
Jeg glemte faktisk at sætte en JMail.AddRecipient ind, så her er hele koden igen:

If DateDiff("d", Now, rs("BegivenhedsDato")) < 2 Then
    Server.ScriptTimeout = 6000
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.Silent = true
    JMail.Logging = true
    jMail.sendername = WebstedTitel
    JMail.ServerAddress = "xx.xxx.xxx.xxx"    'webserver ip for afsendelse af mail
    JMail.Sender = WebstedEmail  ' afsenderens E-mail der vises som afsender - webstedet
    JMail.Subject = WebstedTitel & " - I morgen har du en aftale i kalenderen"
    JMail.AddRecipient rs("BrugersEmail") 
    body = "Dette er en reminder om at du har en aftale i kalenderen på " & WebstedTitel & "<br><br><br>"
    body = body & "Med venlig hilsen<br><br>"
    Plink = "http://" & request.servervariables("SERVER_NAME")
    body = body & "<br><br><br><font  face='arial' size='2'><b>" & webstedTitel & " " & portalNavn & " netadresse:<br>"
    body = body & "<a href='http://" & request.servervariables("SERVER_NAME") & "' style='font-family:Verdana, Arial; color:green; letter-spacing:2px'>"
    body = body & webstedTitel & "</a></b></font><br><br><br>"
    jMail.ContentType  = "text/html"
    JMail.Priority = 3
    JMail.Body = body
    JMail.Execute
    Set JMail = Nothing
End If
Avatar billede para7 Nybegynder
16. juli 2004 - 10:40 #9
Og her er en simplificeret udgave til test:

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Silent = true
JMail.Logging = true
jMail.sendername = WebstedTitel
JMail.ServerAddress = "xx.xxx.xxx.xxx"
JMail.Sender = "min@email.dk"
JMail.Subject = " TESTMAIL"
JMail.AddRecipient "min2@email.dk" 
body = "Dette er en test"
jMail.ContentType  = "text/html"
JMail.Priority = 3
JMail.Body = body
JMail.Execute
Set JMail = Nothing
Avatar billede para7 Nybegynder
16. juli 2004 - 10:42 #10
Det er altså ikke sikkert at du får lov til at sende fra localhost med din JMail.ServerAddress, som du nok har fra din internetudbyder. Så det skal nok uploades for at testes.
Avatar billede maximus25 Nybegynder
16. juli 2004 - 10:50 #11
jeg har pastet dit eksempel ind...men der kommer ikke nogen mail frem.

Jeg har indtastet ip'en på den server(som jo bare er en klient i domænet) i denne linje:

JMail.ServerAddress = "xx.xxx.xxx.xxx"

kan det være der fejlen er ??
Avatar billede para7 Nybegynder
16. juli 2004 - 11:00 #12
Jeg har lige testet denne. Jeg har skjult mine sidste tre cifre af ip'en af sikkerhedsmæssige hensyn. Men det virker hos mig. Ændrer jeg på ip'en kommer der selvfølgelig ingen mail, men heller ingen fejlmeddelelse. Det kommer an på hvordan jMail er installeret på serveren.

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Silent = true
JMail.Logging = true
jMail.sendername = WebstedTitel
JMail.ServerAddress = "66.102.135.xxx"  'webserver ip for afsendelse af mail, her min konto på webhost4life.com
JMail.Sender = "j@7d.dk"
JMail.Subject = " TESTMAIL"
JMail.AddRecipient "j@7d.dk" 
body = "Dette er en test"
jMail.ContentType  = "text/html"
JMail.Priority = 3
JMail.Body = body
JMail.Execute
Set JMail = Nothing

response.write "Koden er kørt"
Avatar billede para7 Nybegynder
16. juli 2004 - 11:20 #13
Prøv evt. med syntaksen
JMail.ServerAddress = "mail.myDomain.dk"

Se også spørgsmålet: http://www.eksperten.dk/spm/505719
Avatar billede para7 Nybegynder
16. juli 2004 - 11:29 #14
Og nu koger jeg lige testmail.asp ned til et absolut minimum. Og jeg har insdsat mit domænenavn med mail. foran som ServerAddress. Det virker også hos mig:

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.noniportalen.dk"
JMail.Sender = "7d@c.dk"
JMail.Subject = "Simpel jMail testmail"
JMail.AddRecipient "j@7d.dk" 
jMail.ContentType  = "text/html"
JMail.Execute
Set JMail = Nothing

response.write "Koden er kørt. "
Avatar billede para7 Nybegynder
16. juli 2004 - 11:33 #15
PS: linjen
jMail.ContentType  = "text/html"
kan også fjernes, da der ingen body er i testen.
Avatar billede para7 Nybegynder
17. juli 2004 - 10:21 #16
Fik du kontakt med serveren ?
Avatar billede maximus25 Nybegynder
19. juli 2004 - 11:34 #17
nej det virker ikk....hmmm
Avatar billede para7 Nybegynder
19. juli 2004 - 14:27 #18
Har du af supporten få oplyst noget om hvad mailserver adresse du skal bruge ?
Avatar billede para7 Nybegynder
19. juli 2004 - 14:38 #19
Vi har koget det ned til 7 linjer:

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.domaenenavn.dk"
JMail.Sender = "mig@domaenenavn.dk"
JMail.Subject = "Simpel jMail testmail"
JMail.AddRecipient "mig2@domaenenavn.dk" 
JMail.Execute
Set JMail = Nothing

Jeg skulle mene vi er en hårsbredde fra at få det til at virke. Hvor har du hotel? Hvis det ellers ikke er B-one SKAL jMail virke. Så er det webhotel supporten der må fortælle hvorfor det ikke virker.
Avatar billede para7 Nybegynder
19. juli 2004 - 15:22 #20
CDONTS er også en mulighed. Her er et simpelt eksempel. Hvis CDONTS kører får du lige et link til at lære. Det ser bare ud til at CDONTS volder folk en del kvaler at få til at køre.

Set objCDO = Server.CreateObject("CDONTS.NewMail")
objCDO.From = "mig@domaenenavn.dk"
objCDO.To = "mig2@domaenenavn.dk"
objCDO.Subject "Simpel CDONTS testmail"
objCDO.Send
Set objCDO = Nothing
Avatar billede para7 Nybegynder
19. juli 2004 - 15:24 #21
(Der er heller ikke nogen error handling ved CDONTS)
Avatar billede maximus25 Nybegynder
26. juli 2004 - 08:46 #22
hmmm....det virker ikke...men jeg tror ikke det er dine forslag der er noget i vejen med..
Avatar billede para7 Nybegynder
26. juli 2004 - 15:50 #23
Jeg kender ikke til andre metoder - end at der vist er noget der hedder ASPmail, men hvis de andre almindelige metoder ikke virker og hotelværten, hvem de end er ? ikke er til at komme i kontakt med så..... ?-]
Avatar billede para7 Nybegynder
26. juli 2004 - 20:36 #24
Mange tak da :) Håber det er pointene værd, da jeg godt kunne nøjes med det halve eller mindre, når opgaven ikke er løst.
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