webForumDet fria alternativet
Logga in / Bli medlem

Mailutskick i Sub med Array

ASP

1 svar · 312 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tjena
Jag har ett antal mallar för mailutskick sparade i databasen (SQL-Server).
Vidare så har jag gjort en Sub som ska fixa själva mailutskicket.

I Subben så hämtas aktuell mall som ska användas till mailet, kan se ut typ såhär:

Du har begärt dina användaruppgifter från vår sajt:
Anv. namn:  %USERNAME%
Lösenord:    %PASSWORD%

Använda ovanstående uppgifter för att logga in.

Eftersom innehållet i mailet (%USERNAME% etc.) kan variera mellan mallarna, så vill jag istället spara den data som ska användas i subben och skicka med som en array, typ såhär:

Dim arr(4)
arr(0) = "%USERNAME%"
arr(1) = "Micke"
arr(2) = "%PASSWORD%"
arr(3) = "mitt_passwd"

...för att sedan köra en replace med min mailbody från databasen, för att byta ut "dynamisk" data.

Frågan är, hur gör jag?
Jag har inte hållt på med det här tidigare, så all hjälp tages tacksamt emot!

Medlem sedan feb. 20034 441 inlägg
#2

Med lite sökande och tester kom jag fram till följande:

<%
Function expand(temp, param_array)
	If temp = "one" Then
		body =	"-----------------------------------<br />" &_
			"Värde 1: %VAR1% <br />" &_
			"Värde 2: %VAR2% <br />" &_
			"Värde 3: %VAR3% <br />" &_
			"-----------------------------------<br />"
	Else
		body =	"-----------------------------------<br />" &_
			"Värde 1: %VAR1% <br />" &_
			"Värde 2: %VAR2% <br />" &_
			"-----------------------------------<br />"
	End If
	n = UBound (param_array) 
	For i = 0 To n/2-1
		body = Replace (body, param_array (2*i+1), param_array (2*i+2))
	Next
	expand = body
End Function

Dim p(10)
p(1) = "%VAR1%"
p(2) = "VALUE1"
p(3) = "%VAR2%"
p(4) = "VALUE2"
p(5) = "%VAR3%"
p(6) = "VALUE3"
Response.Write("<p>Värden:<br />" & expand("one", p) & "</p>")

p(1) = "%VAR1%"
p(2) = "FOO1"
p(3) = "%VAR2%"
p(4) = "FOO2"
Response.Write("<p>Värden:<br />" & expand("two", p) & "</p>")
%>

Det funkar kanon, men, går det är optimera koden, finns det andra, bättre sätt att lösa det på?

Tack!

254 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)