Avatar billede frank74 Nybegynder
02. februar 2005 - 18:15 Der er 25 kommentarer og
1 løsning

Send genvej med ASPMail

Hvad er der galt med dette ->
Mailer.BodyText  = Request.Form ("besked") & vbcrlf & vbcrlf & "Tryk på dette link hvis du IKKE vil modtage nyhedsbrev længere :" & vbcrlf & "http://xxxx.dk/test/ADMIN/del.asp?Mail=" & rs("Mail")

Meningen er at der i bunden af nyhedsbrevet er et link hvor man kan framelde sig. Hvis jeg fjrner - & rs("Mail")- Kan jeg godt sende mailen...
Avatar billede kinderaeg Nybegynder
04. februar 2005 - 13:11 #1
Som sådan er der ikke noget galt, men det kunne være rart at vide, hvilken fejlmeddelelse du får. Umiddelbart vil jeg tro, at du enten ikke har eller har udvalgt feltet Mail i din database/forespørgsel, eller at variablen (dit recordset) ikke hedder rs.
Avatar billede frank74 Nybegynder
27. juli 2005 - 04:40 #2
Hele scriptet ser således ud
-------------------------------------
<%
Dim Mailer
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName  = "Nyheder fra xxxxx"
Mailer.FromAddress= "webmaster@xxxxx.dk"
Mailer.RemoteHost = "smtp.tele2.dk"



' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN


strSQL = "Select * from mailliste"
Set rs = Conn.Execute(strSQL)

Do
  ' Tilføj modtager
  Mailer.AddRecipient rs("navn"), rs("email")
  rs.MoveNext
Loop While Not rs.EOF

Mailer.Subject    = Request.Form ("subject")
Mailer.BodyText  = Request.Form ("message") & vbcrlf & vbcrlf & "For at stoppe med at modtage nyheder fra xxxxx, tryk her :" & "http://www.xxxxxx.dk/test/del.asp?email=" & rs("email")



' Send e-mail og skriv status
if Mailer.SendMail then
  Response.Write "Mailen er afsendt..."
else
  Response.Write "Der skete en fejl: " & Mailer.Response
end if

' Fjern objekt igen
Set Mailer = Nothing
%>
------------------------------------------
Fejlen jeg får er :
Siden kan ikke vises
Der er problemer med den side, du prøver at åbne, og den kan ikke vises.

--------------------------------------------------------------------------------

Prøv følgende:

Åbn xxx.xxx.xxx.xxxx hjemmesiden og søg efter links til de oplysninger, du vil have.
Klik på knappen  Opdater, eller prøv igen senere.

Klik på  Søg for at søge efter oplysninger på Internettet.
Du kan også se en liste over relaterede websteder.




HTTP 500 - Intern serverfejl
Internet Explorer
Avatar billede fennec Nybegynder
27. juli 2005 - 08:20 #3
Du kan starde med at vise en fejlmeddelse der kan bruges til noget :o)

Funktioner >> indstillinger >> avanceret >> fjern kryds i "vis meddelser om uskadelige HTTP-fejl"
Avatar billede busschou Praktikant
27. juli 2005 - 08:42 #4
Det er jo logisk nok når man ser din første kode
----
Først løber du alt igennem
Do
  ' Tilføj modtager
  Mailer.AddRecipient rs("navn"), rs("email")
  rs.MoveNext
Loop While Not rs.EOF
-----
Dernæst når alt _er_ løbet igennem ´laver du denne her
----
Mailer.Subject    = Request.Form ("subject")
Mailer.BodyText  = Request.Form ("message") & vbcrlf & vbcrlf & "For at stoppe med at modtage nyheder fra xxxxx, tryk her :" & "http://www.xxxxxx.dk/test/del.asp?email=" & rs("email")
-----
men på det tidspunkt er rs.eof = True, ergo er der ingen rs("email")
Den skal med ind i løkken
Avatar billede busschou Praktikant
27. juli 2005 - 08:44 #5
hmm og det kan du så ikke sådan som jeg opfatter det du gør
Som du har det nu så laver du vel een mail med samtlige modtagere
Derfor kan du ikke give dem et unikt link hver især
Du skal i stedet lave een unik mail i dit script og køre løkken uden for så den sender een mail til hver
Avatar billede busschou Praktikant
27. juli 2005 - 08:46 #6
sådan her vil jeg tro
------
<%
Dim Mailer
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName  = "Nyheder fra xxxxx"
Mailer.FromAddress= "webmaster@xxxxx.dk"
Mailer.RemoteHost = "smtp.tele2.dk"

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "Select * from mailliste"
Set rs = Conn.Execute(strSQL)

Do
  Mailer.AddRecipient rs("navn"), rs("email")
  rs.MoveNext
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = Request.Form ("message") & vbcrlf & vbcrlf & "For at stoppe med at modtage nyheder fra xxxxx, tryk her :" & "http://www.xxxxxx.dk/test/del.asp?email=" & rs("email")
  ' Send e-mail og skriv status
  if Mailer.SendMail then
    Response.Write "Mailen er afsendt..."
  else
    Response.Write "Der skete en fejl: " & Mailer.Response
  end if
Loop While Not rs.EOF

' Fjern objekt igen
Set Mailer = Nothing
%>
Avatar billede fennec Nybegynder
27. juli 2005 - 08:46 #7
Og så er det desuden ulovlig at sende nyhedsbrev ud så mailadresserne kan ses af alle. De SKAL sendes som BCC modtagere....
Avatar billede busschou Praktikant
27. juli 2005 - 08:47 #8
hov staveplade fejl
----
<%
Dim Mailer
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName  = "Nyheder fra xxxxx"
Mailer.FromAddress= "webmaster@xxxxx.dk"
Mailer.RemoteHost = "smtp.tele2.dk"

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN

strSQL = "Select * from mailliste"
Set rs = Conn.Execute(strSQL)

Do
  Mailer.AddRecipient rs("navn"), rs("email")
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = Request.Form ("message") & vbcrlf & vbcrlf & "For at stoppe med at modtage nyheder fra xxxxx, tryk her :" & "http://www.xxxxxx.dk/test/del.asp?email=" & rs("email")
  ' Send e-mail og skriv status
  if Mailer.SendMail then
    Response.Write "Mailen er afsendt..."
  else
    Response.Write "Der skete en fejl: " & Mailer.Response
  end if
  rs.MoveNext
Loop While Not rs.EOF

' Fjern objekt igen
Set Mailer = Nothing
%>
---
sådan
Avatar billede busschou Praktikant
27. juli 2005 - 08:49 #9
men jeg vil da anbefale dig generelt at gøre som fennec foreslår 27/07-2005 08:20:41
For ellers kan man intet tyde af IE´s fejlmedelelser

fennec >> jeg oplever i mit IE at den indstilling med fejlmedelelserne "nulstilles" hver gang jeg åbner en ny browser, har du tilfældigvis en løsning til det så jeg ikke hver gang skal ind og sætte fluebenet ?
Avatar billede fennec Nybegynder
27. juli 2005 - 08:59 #10
busschou >>
Det har jeg godt nok aldrig hørt om, men måske der findes en default værdi.
Prøv at højreklikke på IE ikonet på dit skrivebord/startmenu og vælge "internetegenskaber" herfra. Det kan være denne virker som default, men jeg tvivler...
Avatar billede frank74 Nybegynder
27. juli 2005 - 13:55 #11
fennec -> Jeg havde godt på fornemmelsen at det var ulovligt og det havde også været mit næste spørgsmål. ;-)
busschou -> Jeg tænkte nok at det var noget med at den var færdig med at køre det igennem. Men jeg er ikke så ferm til ASP. Derimod er jeg super god til Copy-Paste. ;-)
Jeg har prøvet med dit eksempel og får stadig den samme fejl. Efter jeg har deaktiveret "vis meddelser om uskadelige HTTP-fejl" får jeg denne fejlmeddellelse :
------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xa04 Thread 0xcbc DBC 0x15ca024 Jet'.

/xxxxxx.dk/test/7/send.asp, line 12
-------------------------------------------
Line 12 -> Conn.Open DSN
Avatar billede busschou Praktikant
27. juli 2005 - 13:59 #12
hmm kunne ligne du måske ikke har adgang til databasen måske, jeg er ikke helt sikker på den fejl medelelse
Du kunne prøve lave
---
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN
---
om til
---
Set Conn = Server.CreateObject("ADODB.Connection")
DNS = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("db.mdb")
Conn.Open DSN
---
Men jeg er ikke sikker på det gør trikket
Avatar billede busschou Praktikant
27. juli 2005 - 14:00 #13
hov og så selvfølgelig kalde det DSN begge steder ;o)
---
Avatar billede frank74 Nybegynder
27. juli 2005 - 14:07 #14
Jeg har haft adgang til databasen hele tiden. Så jeg tror da ikke at det er det.
Har prøvet dit forslag og får nu denne fejl.
----------------------------
Microsoft JET Database Engine error '80004005'

Unspecified error

/xxxxxx.dk/test/7/send.asp, line 11
Avatar billede busschou Praktikant
27. juli 2005 - 14:13 #15
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q295297
Forklarer noget om fejlen, ikke at jeg kan se hvordan pokker det skulle kunne hjælpe dig med mindre det er din egen server eller noget
Avatar billede frank74 Nybegynder
27. juli 2005 - 14:18 #16
Jeg prøver for ligenu kører jeg test på min egen Server. Måske du har ret alligevel ang. at jeg ikke har adgang til databasen. Har prøvet med det script jeg ved virkede og får nu samme fejl.
Avatar billede busschou Praktikant
27. juli 2005 - 14:20 #17
ok for pånær hvis selve database forbindelsen ikke virker
Så vil jeg mene at 08:47:19 virker
Avatar billede frank74 Nybegynder
27. juli 2005 - 15:19 #18
Fucking MicroBlød... Nu kan jeg SLET ikke komme i kontakt med nogen af mine databaser. Samme fejl hele vejen igennem. I går virkede det hele fint...
Jeg stille lige dette spørgsmål lidt i bero til jeg har fået løst mit andet problem... Tak for hjælpen indtil videre...
Avatar billede busschou Praktikant
27. juli 2005 - 15:22 #19
det er bare oki, håber du får gang i maskineriet igen :o)
Avatar billede frank74 Nybegynder
27. juli 2005 - 23:42 #20
Så virker min Server igen. :-)
Har nu prøvet med dit eksempel. Men den mail der bliver modtaget ser således ud:
----
Dette er en testmail.

For at stoppe med at modtage nyheder fra xxxxxx, tryk her :http://www.midtomnatten.dk/test/del.asp?email=xxxxxx@sol.dk
sfcgjsfg

For at stoppe med at modtage nyheder fra xxxxxx, tryk her :http://www.midtomnatten.dk/test/del.asp?email=xxxxxx@xxxxxx.dk
sfcgjsfg

For at stoppe med at modtage nyheder fra xxxxxx, tryk her :http://www.midtomnatten.dk/test/del.asp?email=xxxxxx@xxxxxx.dk
----
Altså selve teksten (message) bliver kun tilføjet 1 gang mens linket bliver tilføjet med alle brugere fra databasen...
Avatar billede frank74 Nybegynder
27. juli 2005 - 23:45 #21
Det passer ikke hvad jeg siger. Teksten bliver også tilføjet 3 gange. Det er det der "sfcgjsfg" som den oprindelige tekst var. ;-)
Avatar billede busschou Praktikant
27. juli 2005 - 23:50 #22
Det kan være løkken skal helt uden om
----
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("db.mdb")
Conn.Open DSN
strSQL = "Select * from mailliste"
Set rs = Conn.Execute(strSQL)
Do
  Dim Mailer
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "Nyheder fra xxxxx"
  Mailer.FromAddress= "webmaster@xxxxx.dk"
  Mailer.RemoteHost = "smtp.tele2.dk"
  Mailer.AddRecipient rs("navn"), rs("email")
  Mailer.Subject    = Request.Form ("subject")
  Mailer.BodyText  = Request.Form ("message") & vbcrlf & vbcrlf & "For at stoppe med at modtage nyheder fra xxxxx, tryk her :" & "http://www.xxxxxx.dk/test/del.asp?email=" & rs("email")
  ' Send e-mail og skriv status
  if Mailer.SendMail then
    Response.Write "Mailen er afsendt..."
  else
    Response.Write "Der skete en fejl: " & Mailer.Response
  end if
  Set Mailer = Nothing
  rs.MoveNext
Loop While Not rs.EOF
%>
Avatar billede ksoren Nybegynder
27. juli 2005 - 23:53 #23
I stedet for at oprette et nyt objekt ved hvert gennemløb, så prøv

Mailer.ClearRecipients

efter hver sendt mail

http://www.serverobjects.com/comp/Aspmail4.htm
Avatar billede frank74 Nybegynder
27. juli 2005 - 23:57 #24
Yatzy busschou... Det ser ud til at virke. Jeg tester lige lidt og giver så point. ;-)
Avatar billede frank74 Nybegynder
28. juli 2005 - 00:13 #25
Yep. Det virker fint. Mange tak for hjælpen. ;-)
Avatar billede busschou Praktikant
28. juli 2005 - 08:10 #26
Det var så lidt , takker for points :o)
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