webForumDet fria alternativet

vet ej...

5 svar · 190 visningar · startad av emission

emissionMedlem sedan dec. 19996 721 inlägg
#1

Originalinlägg av crisse6. Råkade fimpa... :)

jag håller nu på med att skapa en väldigt enkel mailinglista... denna kod är på den sidan som jag hämtar alla mejladresser på... jag får detta felmess:


Provider error '80004005' 
Odefinierat fel 

/groda/mejlinglista.asp, line 17

med denna kod: (det funkade förrut, men inte nu???)
Kod:

<form name="brev" method="post" action="skicka_brev.asp">
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsMejl = Server.CreateObject("ADODB.Recordset")
MdbFilePath = Server.MapPath("brevet.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL = "SELECT * From mejladresser"
rsMejl.Open SQL, Databas

If rsMejl.EOF then
Response.Write "<b>" & "Inga e-mail adresser finns." & "</b>"
else
Do Until rsMejl.EOF

Response.Write"<input type=""text"" name=""adress"" value='" &rsMejl("mejl") & "'>"

rsMejl.MoveNext
Loop
%>
<p><textarea name="meddelande" rows="6" cols="45"></textarea></p>
<p><input type="submit" name="skicka" value="Skicka månadsbrev"></p>
</form>
<% End If %>

sedan hur gör man själva skickar sidan, ska ha cdonts, men vet ej hur jag ska få in allt...

crisse6Medlem sedan dec. 20002 526 inlägg
#2

kan ngn svara på varför detta inte funkar, line 33 som är '## -- till vilken mail adress mailet ska skickas till --

<%
'## -- din rubrik till mailet --
strRubrik = Request.Form("rubrik")

'## -- din mailbody, dvs det som är mailets innehåll --
strMeddelande = Request.Form("meddelande")

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath="d:/wwwroot/cris/db/brevet.mdb"
	Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
	
SQL = "SELECT * From mejladresser"

'## -- skapar ett CDO mail objekt --
set objCDO = server.createobject("CDONTS.NewMail")

'## -- skapar ett recordset innehållandes alla epost adresser --
Set rsMejl = Databas.Execute(SQL)

	If rsMejl.EOF Then
		Response.Write "Inga e-postadresser hittades."
	Else
		Do Until rsMejl.EOF
			'## -- till vilken mail adress mailet ska skickas till --
			strEpost = rsMejl("mejl")
			objCDO.To = strEpost
			'## -- din mailadress --
			objCDO.From = "dinmail@dindomain.se"
			
			'## -- här kommer subject/rubriken --
			objCDO.Subject = strRubrik
			
			'## -- meddelandet kommer här --
			objCDO.Body = strMeddelande
			objCDO.Send
			rsMejl.MoveNext
		Loop
		Response.Write "Ditt mail har nu skickats till alla listmedlemmar."
	End If
	
set objCDO = Nothing
%>

------------------
www.groda.net *kvack*, *kvack*

[Redigerat av crisse6 den 21 maj 2001]

[Redigerat av crisse6 den 21 maj 2001]

[Redigerat av crisse6 den 21 maj 2001]

crisse6Medlem sedan dec. 20002 526 inlägg
#3

nu har PatrikB ordnat om lite i koden, men det funkar ändå inte... den gillar inte Do Until rsMejl.EOF...

<%
'## -- din rubrik till mailet --
strRubrik = Request.Form("text")

'## -- din mailbody, dvs det som är mailets innehåll --
strMeddelande = Request.Form("meddelande")

'## -- din emailadress --
strFrom = "grodanmejl@hotmail.com"

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath="d:/wwwroot/cris/db/brevet.mdb"
	Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
	
SQL = "SELECT * From mejladresser"

'## -- skapar ett CDO mail objekt --
set objCDO = server.createobject("CDONTS.NewMail")

'## -- skapar ett recordset innehållandes alla epost adresser --

Set rsMejl = Databas.Execute(SQL)
response.write rsMejl("mejl") & "<BR>"
	If rsMejl.EOF Then
		Response.Write "Inga e-postadresser hittades."
	Else
		Do Until rsMejl.EOF
			strEpost = rsMejl("mejl")
			objCDO.Send strFrom, strEpost , strRubrik, strMeddelande
			rsMejl.MoveNext
		Loop
		Response.Write "Ditt mail har nu skickats till alla listmedlemmar."
	End If
	
set objCDO = Nothing
%>

------------------
www.groda.net *kvack*, *kvack*

[Redigerat av crisse6 den 21 maj 2001]

EclipseMedlem sedan juli 20003 825 inlägg
#4

På sökvägen till databasen, använd server.mapPath & "\" i stället för att hårdkoda sökvägen som du gjort.

Det går något långsammare att använda server.mapPath men om du nu vill hårdkoda sökvägen, fråga då först vilken server som koden körs från;

IF Request.ServerVariables("SERVER_NAME") <> "192.168.1.44" THEN
-- ' ## min lokala dator
ELSE
-- ' ## webservern
END IF

hajjarru?

------------------
"Never underestimate your opponents." - Name the movie.

EclipseMedlem sedan juli 20003 825 inlägg
#5

Glömde...

* Du kan inte köra CDONTS lokalt, endast på webservern. (Jag tror du använder pws och ett webbhotell med cdonts.)
* Använd gärna server side includes för at öppna och stänga databasen.

<!-- #INCLUDE VIRTUAL="/open.asp" -->
<!-- #INCLUDE VIRTUAL="/close.asp" -->

då blir inte just den biten så jobbig.

------------------
"Never underestimate your opponents." - Name the movie.

crisse6Medlem sedan dec. 20002 526 inlägg
#6

Okaj Eclipse, jag ska ändra det, åter till problemet. Nu har jag fått det bekräftat att det funkar iaf :) men det är just loopen det är fel på, den skickar bara till översta adressen i db:n... :( Detta gör att det blir fel... på den raden som den bitt ligger på:

Do Until rsMejl.EOF

just nu ser hela koden ut såhär:

<%
'## -- din rubrik till mailet --
strRubrik = Request.Form("text")

'## -- din mailbody, dvs det som är mailets innehåll --
strMeddelande = Request.Form("meddelande")

'## -- din emailadress --
strFrom = "grodanmejl@hotmail.com"

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath="d:/wwwroot/crisse6/db/brevet.mdb"
	Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
	
SQL = "SELECT * From mejladresser"
Set rsMejl = Databas.Execute(SQL)

'## -- skapar ett CDO mail objekt --
set objCDO = server.createobject("CDONTS.NewMail")

'## -- skapar ett recordset innehållandes alla epost adresser --

response.write rsMejl("mejl") & "<BR>"
	If rsMejl.EOF Then
		Response.Write "Inga e-postadresser hittades."
	Else
			Do Until rsMejl.EOF
			strEpost = rsMejl("mejl")
			objCDO.Send strFrom, strEpost , strRubrik, strMeddelande
			rsMejl.MoveNext
		Loop
		Response.Write "Ditt mail har nu skickats till alla listmedlemmar."
	End If
	
set objCDO = Nothing
%>

hjälp!!!!!!!!

------------------
www.groda.net *kvack*, *kvack*

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)