webForumDet fria alternativet

Skicka infobrev internt

16 svar · 360 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 182 inlägg
#1

Försöker hitta ett sätt att skicka ett internt mail till alla medlemmar men får inte till hur man ska göra

Med denna kod (bara relevant kod här)

set mailRS=objConn.execute("SELECT userID, mailID, email, username, Headline, sender, message, mailDate "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.reciever "&_
"WHERE reciever="& varReciever)

Dim objConn, SQL, bSQL, updateSQL
Dim userID,varSender, varReciever,varHeadline,varMessage, varDatum
Dim txtSender, txtReciever, txtHeadline,txtMessage, txtDatum

		varSender = FriendlySQL(Request.Form ("txtSender"))
		[B]varReciever = do until mailRS.eof
						mailRS("userID")
					mailRS.MoveNext: Loop[/B]
		varFrom = FriendlySQL(Request.Form ("from"))
		varName=request("toUser")
		varMailID = FriendlySQL(Request.Form ("txtMailID"))
		varHeadline = FriendlySQL(Request.Form ("txtHeadline"))
		varDatum = FriendlySQL(Request.Form ("txtDatum"))
		varTime = Time()
		varString = Session("username") & " skrev: <br>"
		varMessage = FriendlySQL(Request.Form("txtMessage"))
		varMessage1 = varString & varMessage

får jag
Microsoft VBScript compilation error '800a03ea'

Syntax error

/mail/save-toAll.asp, line 18

varReciever = do until mailRS.eof
--------------^

Hur ska man skriva???

tydalMedlem sedan juni 20033 788 inlägg
#2

Vad vill du lägga i varReciver[sp]?

WebbisNetMedlem sedan feb. 20032 182 inlägg
#3

tydal skrev:

Vad vill du lägga i varReciver[sp]?

Jag vill lägga alla användarid-n där så att varje registrerad medlem får ett mail

så istället för att skicka ett mail till en medlem så ska ett mail till alla användare i databasen

tydalMedlem sedan juni 20033 788 inlägg
#4

Jag tycker fortfarande det är lite rörigt. varReciver är ju en sträng och ingen array, och du har redan använt den till annat. Dessutom används den ju inte mer i de delar av koden som du säger är relevanta, så vad är det sen som görs med varReciver?

Är det ett e-postmeddelande du ska skicka, eller ska det bara skapas en rad i någon maildatabas?

Om det är det senare kan det ju vara lämpligt att skapa den raden i loopen som går igenom mailRS.

WebbisNetMedlem sedan feb. 20032 182 inlägg
#5

Det ska bara skapas ett mail i databasen och sen längre ner så ska ett E-postmeddelande gå ut om att man har ett nytt PM (internt mail)

Hur ska jag skriva då??

tydalMedlem sedan juni 20033 788 inlägg
#6

do until mailRS.eof
' skapa ett mail för mailRS("userID")
mailRS.MoveNext
Loop

WebbisNetMedlem sedan feb. 20032 182 inlägg
#7

var ska jag lägga den koden om jag inte ska ha den där jag har nu, skickar med hela koden

<%if not UserID <> "" then
response.write "Sessionen avslutades tyvärr, gå gärna tillbaka och kopiera ditt meddelande "
response.write "och logga in igen och klistra sedan in texten i mailet och skicka igen"
else

set mailRS=objConn.execute("SELECT userID, mailID, email, username, Headline, sender, message, mailDate "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.reciever "&_
"WHERE reciever="& varReciever)

Dim objConn, SQL, bSQL, updateSQL
Dim userID,varSender, varReciever,varHeadline,varMessage, varDatum
Dim txtSender, txtReciever, txtHeadline,txtMessage, txtDatum

		varSender = FriendlySQL(Request.Form ("txtSender"))
		varReciever = do until mailRS.eof
						mailRS("userID")
					mailRS.MoveNext: Loop
		varFrom = FriendlySQL(Request.Form ("from"))
		varName=request("toUser")
		varMailID = FriendlySQL(Request.Form ("txtMailID"))
		varHeadline = FriendlySQL(Request.Form ("txtHeadline"))
		varDatum = FriendlySQL(Request.Form ("txtDatum"))
		varTime = Time()
		varString = Session("username") & " skrev: <br>"
		varMessage = FriendlySQL(Request.Form("txtMessage"))
		varMessage1 = varString & varMessage 

SET objConn = connect()

	SQL = "INSERT INTO tblUsers_imail"
	SQL = SQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	SQL = SQL & "VALUES('"& varSender &"','"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"', 1)"
	
	bSQL = "INSERT INTO tblUsers_imail_backup"
	bSQL = bSQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	bSQL = bSQL & "VALUES('"& varSender &"','"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"',1)"
	
	cSQL = "INSERT INTO tblUsers_imail_reply"
	cSQL = cSQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	cSQL = cSQL & "VALUES('"& varSender &"','"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"', 1)"

	'response.write SQL
	'response.end
	objConn.Execute(SQL)
	objConn.Execute(bSQL)
	objConn.Execute(cSQL)

objConn.Execute("Update tblUsers SET poang = poang+0.4 WHERE userID= " & UserID &"")

sTo = ""& mailRS("email") &""
sFrom = "mail@webbisen.com"
sSubject = "Nytt mail till "&mailRS("username")&" [Meddelandetjänsten på "& title &"]"
sTextBody = "Du har fått ett nytt meddelande från "& varFrom &" på [url]Http://www.webbisen.com[/url] "&vbcrlf _
& vbcrlf &"Meddelandet skickades "& varDatum &" "& varTime &" "_
& vbcrlf &"Meddelandets rubrik """& varHeadline &""""&vbcrlf _
& vbcrlf &"Mvh Admin på "& title &""

'Create the mail object and set key properties
Set objMail = Server.CreateObject("CDO.Message")

objMail.From = sFrom  
objMail.To = sTo 
objMail.Subject= sSubject 
objMail.TextBody = sTextBody 

'Send the email and clean up
objMail.Send 
Set objMail = Nothing

	response.redirect "mail-sent.asp?toUser="&varName&"&userID="&varReciever&""
	%>
tydalMedlem sedan juni 20033 788 inlägg
#8

Aha, vänta nu... Är hela det här skriptet bara till för att skicka till en användare? I så fall blir det ju mycket lättare...

I så fall behöver du ju bara ändra den felande raden till:

varReciever = mailRS("userID")

WebbisNetMedlem sedan feb. 20032 182 inlägg
#9

tydal skrev:

Aha, vänta nu... Är hela det här skriptet bara till för att skicka till en användare? I så fall blir det ju mycket lättare...

I så fall behöver du ju bara ändra den felande raden till:

varReciever = mailRS("userID")

Det gick bara iväg till en anda medlem, ska ju ett mail till alla....dvs en rad i databasen per skickat mail

tydalMedlem sedan juni 20033 788 inlägg
#10

I början väljer du ut vilka som ska få brevet... och den som ska få brevet är varReciever:

SELECT userID, mailID, email, username, Headline, sender, message, mailDate "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.reciever "&_
"WHERE reciever="& varReciever

Men vad är varReciver? Jag ser inte att du gett den något värde där.

WebbisNetMedlem sedan feb. 20032 182 inlägg
#11

jag tog bort wheresatsen när jag skickade och fick bara iväg till en medlem

tydalMedlem sedan juni 20033 788 inlägg
#12

Aha, jag visste inte att where-satsen inte skulle vara där...

Men om vi tar bort den blir det så här:

<%if not UserID <> "" then
response.write "Sessionen avslutades tyvärr, gå gärna tillbaka och kopiera ditt meddelande "
response.write "och logga in igen och klistra sedan in texten i mailet och skicka igen"
else

set mailRS=objConn.execute("SELECT userID, mailID, email, username, Headline, sender, message, mailDate "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.reciever ")

Dim objConn, SQL, bSQL, updateSQL
Dim userID,varSender, varReciever,varHeadline,varMessage, varDatum
Dim txtSender, txtReciever, txtHeadline,txtMessage, txtDatum

		varSender = FriendlySQL(Request.Form ("txtSender"))
		varFrom = FriendlySQL(Request.Form ("from"))
		varName=request("toUser")
		varMailID = FriendlySQL(Request.Form ("txtMailID"))
		varHeadline = FriendlySQL(Request.Form ("txtHeadline"))
		varDatum = FriendlySQL(Request.Form ("txtDatum"))
		varTime = Time()
		varString = Session("username") & " skrev: <br>"
		varMessage = FriendlySQL(Request.Form("txtMessage"))
		varMessage1 = varString & varMessage 

SET objConn = connect()

do until mailRS.eof

  varReciver = mailRS("userID")
	SQL = "INSERT INTO tblUsers_imail"
	SQL = SQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	SQL = SQL & "VALUES('"& varSender &"','"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"', 1)"
	
	bSQL = "INSERT INTO tblUsers_imail_backup"
	bSQL = bSQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	bSQL = bSQL & "VALUES('"& varSender &"','"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"',1)"
	
	cSQL = "INSERT INTO tblUsers_imail_reply"
	cSQL = cSQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	cSQL = cSQL & "VALUES('"& varSender &"','"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"', 1)"

	objConn.Execute(SQL)
	objConn.Execute(bSQL)
	objConn.Execute(cSQL)

objConn.Execute("Update tblUsers SET poang = poang+0.4 WHERE userID= " & mailRS("userID") &"")

sTo = ""& mailRS("email") &""
sFrom = "mail@webbisen.com"
sSubject = "Nytt mail till "&mailRS("username")&" [Meddelandetjänsten på "& title &"]"
sTextBody = "Du har fått ett nytt meddelande från "& varFrom &" på [url]Http://www.webbisen.com[/url] "&vbcrlf _
& vbcrlf &"Meddelandet skickades "& varDatum &" "& varTime &" "_
& vbcrlf &"Meddelandets rubrik """& varHeadline &""""&vbcrlf _
& vbcrlf &"Mvh Admin på "& title &""

'Create the mail object and set key properties
Set objMail = Server.CreateObject("CDO.Message")

objMail.From = sFrom  
objMail.To = sTo 
objMail.Subject= sSubject 
objMail.TextBody = sTextBody 

'Send the email and clean up
objMail.Send 
Set objMail = Nothing

mailRS.movenext
loop

	%>
WebbisNetMedlem sedan feb. 20032 182 inlägg
#13

Ser inte mottagaren där nånstans

Här är den nedbantade versionen jag har nu, ska detta fungera då?

<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/functions.asp" -->
<!-- #include virtual="/include/variabler.asp" -->
<%if not UserID <> "" then
response.write "Sessionen avslutades tyvärr, gå gärna tillbaka och kopiera ditt meddelande "
response.write "och logga in igen och klistra sedan in texten i mailet och skicka igen"
else

set mailRS=objConn.execute("SELECT userID, mailID, email, username, Headline, sender, message, mailDate "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.reciever")

		varReciever = mailRS("userID")
		varFrom = FriendlySQL(Request.Form ("from"))
		varName=request("toUser")
		varMailID = FriendlySQL(Request.Form ("txtMailID"))
		varHeadline = FriendlySQL(Request.Form ("txtHeadline"))
		varDatum = FriendlySQL(Request.Form ("txtDatum"))
		varTime = Time()
		varString = Session("username") & " skrev: <br>"
		varMessage = FriendlySQL(Request.Form("txtMessage"))
		varMessage1 = varString & varMessage 

SET objConn = connect()
	SQL = "INSERT INTO tblUsers_imail"
	SQL = SQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	SQL = SQL & "VALUES(1,'"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"', 1)"

	objConn.Execute(SQL)

sTo = ""& mailRS("email") &""
sFrom = "mail@webbisen.com"
sSubject = "Nytt mail till "&mailRS("username")&" [Meddelandetjänsten på "& title &"]"
sTextBody = "Du har fått ett nytt meddelande från "& varFrom &" på [url]Http://www.webbisen.com[/url] "&vbcrlf _
& vbcrlf &"Meddelandet skickades "& varDatum &" "& varTime &" "_
& vbcrlf &"Meddelandets rubrik """& varHeadline &""""&vbcrlf _
& vbcrlf &"Mvh Admin på "& title &""

Set objMail = Server.CreateObject("CDO.Message")

objMail.From = sFrom  
objMail.To = sTo 
objMail.Subject= sSubject 
objMail.TextBody = sTextBody 
objMail.Send 
Set objMail = Nothing

	response.redirect "mail-sent.asp?toUser="&varName&"&userID="&varReciever&""%>
tydalMedlem sedan juni 20033 788 inlägg
#14

Din kod skickar till en mottagare, min skickar till hur många som helst.

WebbisNetMedlem sedan feb. 20032 182 inlägg
#15

tydal skrev:

Din kod skickar till en mottagare, min skickar till hur många som helst.

Nu gick det, hur får man nu ex en bild att visas som en bild och inte som text nu, skickar med denna text i mailet och den visas som man skickar

<img src="http://imp.double.se/imp.gif?a3805p137g2046" width="0" height="0" alt="" /><a href="http://www.double.se/reports/click.php?a=3805&p=137&g=2046" target="_blank"><img src="http://dating.singelhuset.se/banners/DR_singelhuset3paket.gif" width="650" height="400" border="0" alt="" /></a>

Koden för läsningen av mailet är

[B] Set rs = objConn.Execute("SELECT userID, Sex, username, persnr, City, picture, vip, "&_
 "mailID, mailDate, mailTime, sender, Reciever, Headline, message, mailRead "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.sender where mailID="& intMailID)[/B]

objConn.Execute("Update tblUsers_imail SET mailRead = 0 where mailID ="& intMailID) 
objConn.Execute("Update tblUsers_imail_reply SET mailRead = 0 where mailID ="& intMailID) 
sender=Session("userID")
reciever=rs("userID")
username=rs("username")
mailID=rs("mailID")
[B]message=rs("message")[/B]
Datum=rs("mailDate")
Headline=replace(rs("Headline")," ","&nbsp;")
userPic=rs("picture")
varSex=rs("sex")%>

<textarea readonly style="height:180px; width:800px;">[B]<%=message%>[/B]</textarea>
WebbisNetMedlem sedan feb. 20032 182 inlägg
#16

Flera av medlemmarna har fått upp till 6 av samma vid 1 utskick.....hur ser man till att bara 1 per medlem skickas?

WebbisNetMedlem sedan feb. 20032 182 inlägg
#17

Löste det med denna kod

<%set mailRS=objConn.execute("SELECT userID, mailID, email, username, Headline, sender, message, mailDate "&_
"FROM tblUsers INNER JOIN tblUsers_imail ON tblUsers.userID = tblUsers_imail.reciever")
 
set mail1=objConn.Execute("select distinct userID from tblUsers where visaNyhetsbrev=1")

varName=request("toUser")
varMailID = FriendlySQL(Request.Form ("txtMailID"))
varHeadline = FriendlySQL(Request.Form ("txtHeadline"))
varDatum = FriendlySQL(Request.Form ("txtDatum"))
varTime = Time()
varMessage = FriendlySQL(Request.Form("txtMessage"))

SET objConn = connect()

do until mail1.eof
varReciever = mail1("userID")
	SQL = "INSERT INTO tblUsers_imail"
	SQL = SQL & "(sender, reciever, Headline,message, mailDate,mailTime, mailRead) "
	SQL = SQL & "VALUES(1,'"& varReciever &"','"&varHeadline &"','"&varMessage &"','"& varDatum &"','"& varTime &"', 1)"
objConn.Execute(SQL)

sTo = varReciever
sFrom = "nyhetsbrev@webbisen.com"
sSubject = "Nyhetsbrev från Webbisen.com [Testmail]"
sTextBody = "Du har fått ett nyhetsbrev från Admin på [url]Http://www.webbisen.com[/url] "&vbcrlf _
& vbcrlf &"Meddelandet skickades "& varDatum &" "& varTime &" "_
& vbcrlf &"Meddelandets rubrik """& varHeadline &""""&vbcrlf _
& vbcrlf &"Mvh Admin på "& title &""

Set objMail = Server.CreateObject("CDO.Message")
objMail.From = sFrom  
objMail.To = sTo 
objMail.Subject= sSubject 
objMail.TextBody = sTextBody 
objMail.Send 
Set objMail = Nothing

mail1.movenext
loop
%>
Genererad på 395 ms · cache AV · v20260730165559-full.f96bc7eb