webForumDet fria alternativet

nyhetsbrev via E-post och asp

ASP

23 svar · 965 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Om jag gör ett nyhetsbrev på en vanlig asp-sida, hur får jag då med hela sidan i ett E-postutskick med denna kod

sTo = varMail
sSubject = "Vi saknar dig på Webbisen.com , '"& varDate &"' "
sTextBody = ""& varDatum &" "& varTime &" "_
'Här under ska asp-sidan för nyhetsbrevet finnas
& vbcrlf &" "" "&vbcrlf _
Set objMail = Server.CreateObject("CDO.Message")
objMail.From = sFrom  
objMail.To = sTo 
objMail.Subject= sSubject 
objMail.TextBody = sTextBody 
objMail.Send
Medlem sedan juli 20041 183 inlägg
#2

Kan du förtydliga vad du menar med "...hur får jag med hela sidan..."?

Meddelandet som skickas ska in i variabeln sTextBody, men det är väl inte det du frågar?

Om du vill skicka ett meddelande som innehåller HTML-kod måste du göra en inställning i mailets huvud så att mottagaren vet att det är ett HTML mail. Annars skickas det som "plain"-text likt text i notepad...

Medlem sedan feb. 20032 027 inlägg
#3

ja men HUR skriver man om det för html-sida och var lägger man skicka-koden när man har själva html-sidan klar?

Medlem sedan juli 20041 183 inlägg
#4

Jag tror http://www.w3schools.com/asp/asp_send_email.asp har allt du behöver.

Du kan använda både objMail.HTMLBody och objMail.CreateMHTMLBody. De visste jag inte om CDOSYS då jag aldrig använt de :P

Läs mer på w3schools hemsida...

Medlem sedan feb. 20032 027 inlägg
#5

jag använder

Set objMail = Server.CreateObject("CDO.Message")
objMail.From = "mail@webbisen.com"  
'objMail.To = sTo 
objMail.To = "stefan@webbisen.com"
objMail.Subject= "Nyhetsbrev från Webbisen.com" 
objMail.CreateMHTMLBody "http://www.webbisen.com/mail/Nyhetsbrev/writeNewsletter.asp" 
objMail.Send 
Set objMail = Nothing

men jag får inte med färger, reklam eller textformatering i mailet

Medlem sedan juli 20041 183 inlägg
#6

Har du testat flera olika email-clienter?

Har du kollat hur källkoden ser ut i epostmeddelandena som användaren ser?? Står det Content-Type: text/html; någonstans före koden?

Jag har ingen erfarenhet av CDOSYS. De flesta andra sätten innebär att man sätter Content-Type till text/html. Sen skapar man sitt HTML-meddelande.

Jag tittade i ett HTML-meddelande jag har och de använder stilmallar inbyggt i mailet. Du har en relativ länk till din stilmall vilket jag tror innebär att användarens email-client letar stilmallar på sin dator. Testa använda absolut sökväg eller hellst inkludera stilmallen i mailet.

Medlem sedan feb. 20032 027 inlägg
#7

jag inkluderar stilmallen nu men teckensnitten hänger inte med, bara bakgrunden. På webbsidan ser det bra ut men inte i mailet

Medlem sedan feb. 20032 027 inlägg
#8

Hur får jag nu denna att gå ut till alla

<%if request.querystring("do") = "send" then
set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad < DATE_SUB(CURDATE(),INTERVAL 30 DAY)")

do until mail1.eof
varMail = FriendlySQL(mail1 ("email"))
sBcc = varMail

Set objMail = Server.CreateObject("CDO.Message")
objMail.From = "mail@webbisen.com"  
objMail.To = "stefan@webbisen.com"
objMail.bcc = sBcc 
objMail.Subject= "Nyhetsbrev från Webbisen.com" 
objMail.CreateMHTMLBody "http://www.webbisen.com/mail/Nyhetsbrev/writeNewsletter.asp" 
'objMail.Send 
response.write varMail
response.end
Set objMail = Nothing
mail1.movenext: loop

end if%>
Medlem sedan juli 20041 183 inlägg
#9

Fixade du formatteringen?

Verkar som att du bara kan skicka 20 åt gången, om någon inte ändrat en inställning i servern. Jag tror http://www.snook.ca/archives/active_server_pages/cdosys_the_diff/ kan vara rätt användbar i ditt fall...

För att skicka till flera använder du .Bcc eller .cc istället fär .to. bcc skickar en blind copy (användaren ser bara sin egen adress) och cc är en vanlig copia...

Igen, jag har inte testat det men de borde fungera.

Medlem sedan feb. 20032 027 inlägg
#10

jag veta tt jag kan skicka fler åt gången och när jag skickade fick jag själv flera hundra mail, och jag har ju med bcc

varMail = FriendlySQL(mail1 ("email"))
sBcc = varMail

objMail.bcc = sBcc

Medlem sedan juli 20041 183 inlägg
#11

Jaha, läste inte frågan riktigt :P Funkar inte det där då? Får du felmeddelande eller kommer inte mailen fram?

Du skulle kunna flytta in for-loopen inom mailscriptet, eller vad man ska säga...

<%if request.querystring("do") = "send" then
set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad < DATE_SUB(CURDATE(),INTERVAL 30 DAY)")

Set objMail = Server.CreateObject("CDO.Message")
objMail.From = "mail@webbisen.com"  
objMail.To = "stefan@webbisen.com"

do until mail1.eof
	varMail = FriendlySQL(mail1 ("email"))
	sBcc = varMail
	objMail.bcc = sBcc
mail1.movenext: loop

objMail.Subject= "Nyhetsbrev från Webbisen.com" 
objMail.CreateMHTMLBody "http://www.webbisen.com/mail/Nyhetsbrev/writeNewsletter.asp" 
'objMail.Send 
response.write varMail
response.end
Set objMail = Nothing

end if%>
Medlem sedan feb. 20032 027 inlägg
#12

lilja skrev:

Jaha, läste inte frågan riktigt :P Funkar inte det där då? Får du felmeddelande eller kommer inte mailen fram?

Du skulle kunna flytta in for-loopen inom mailscriptet, eller vad man ska säga...

<%if request.querystring("do") = "send" then
set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad < DATE_SUB(CURDATE(),INTERVAL 30 DAY)")



Set objMail = Server.CreateObject("CDO.Message")
objMail.From = "mail@webbisen.com"  
objMail.To = "stefan@webbisen.com"

do until mail1.eof
	varMail = FriendlySQL(mail1 ("email"))
	sBcc = varMail
	objMail.bcc = sBcc
mail1.movenext: loop

objMail.Subject= "Nyhetsbrev från Webbisen.com" 
objMail.CreateMHTMLBody "http://www.webbisen.com/mail/Nyhetsbrev/writeNewsletter.asp" 
'objMail.Send 
response.write varMail
response.end
Set objMail = Nothing


end if%>

Då får jag bara en adress utskriven när jag kör den koden, ska vara ca 700 adresser, funderar själv på var felet ligger men kan inte komma på det

Medlem sedan feb. 20032 027 inlägg
#13

Nån som har ett bra svar?

Medlem sedan dec. 20025 483 inlägg
#14

En titt på loopen bör avslöja att variablerna tilldelas nya värden i varje runda. Det du vill åstadkomma är ju att de konkateneras, antar jag:

do until mail1.eof
	objMail.bcc = objMail.bcc & FriendlySQL(mail1 ("email")) & ";"
	mail1.movenext
loop

response.write objMail.bcc
Medlem sedan feb. 20032 027 inlägg
#15

först fick jag ut alla mottagare men inga mail skickades, med denna kod finns bara mina 2 adresser utskrivna

<%if request.querystring("do") = "send" then
set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad < DATE_SUB(CURDATE(),INTERVAL 30 DAY)")

Set objMail = Server.CreateObject("CDO.Message")
do until mail1.eof
objMail.bcc = objMail.bcc & FriendlySQL(mail1 ("email")) & ";"
objMail.From = "mail@webbisen.com"  
objMail.To = "stefan@webbisen.com"
objMail.Subject= "Nyhetsbrev från Webbisen.com" 
objMail.CreateMHTMLBody "http://www.webbisen.com/mail/Nyhetsbrev/writeNewsletter.asp" 
'objMail.Send 
response.write objMail.bcc
response.write objMail.To
response.end
Set objMail = Nothing

mail1.movenext: loop
end if%>
Medlem sedan dec. 20025 483 inlägg
#16

Koden jag skrev var utifrån liljas exempel. Testa den tillsammans med mitt förslag.

Medlem sedan feb. 20032 027 inlägg
#17

men vad skrev jag för fel i koden?

Medlem sedan dec. 20025 483 inlägg
#18

Du har ju allting i loopen vilken du avbryter med en gång.

Medlem sedan feb. 20032 027 inlägg
#19

Peter S skrev:

Du har ju allting i loopen vilken du avbryter med en gång.

men varför skickas inga mail med den här koden då?

<%if request.querystring("do") = "send" then
set mail1=objConn.Execute("SELECT userID, email, username, userPass, inloggad FROM tblUsers where email is not null and email<>'' and email LIKE '%@%' and inloggad < DATE_SUB(CURDATE(),INTERVAL 30 DAY)")

Set objMail = Server.CreateObject("CDO.Message")
objMail.From = "mail@webbisen.com"  
objMail.To = "stefan@webbisen.com"

do until mail1.eof
	objMail.bcc = objMail.bcc & FriendlySQL(mail1 ("email")) & ";"
	mail1.movenext
loop

objMail.Subject= "Nyhetsbrev från Webbisen.com" 
objMail.CreateMHTMLBody "http://www.webbisen.com/mail/Nyhetsbrev/writeNewsletter.asp" 
objMail.Send 
'response.write objMail.bcc
'response.write objMail.To
'response.end
Set objMail = Nothing

end if%>
Medlem sedan dec. 20025 483 inlägg
#20

Vet inte om följande trådar kan vara till hjälp:
http://www.thescripts.com/forum/thread517325.html
http://p2p.wrox.com/topic.asp?TOPIC_ID=51064

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)