Tänkte bygga en bevakningsfunktion för ett forum och tänkte på nedanstående sätt skicka ut mail till de som bevakar forumet när ett inlägg görs. Medlemmarna i forumet ligger på ca 1000 st och det kan hända att alla bevakar forumet. Är inte säker på om vi ska sätta detta som standard.
Fungerar mitt kodexempel eller blir det för segt? I så fall vad finns det för lösning?
<%
sqlString = "SELECT epost " &_
"FROM medlemmar "
Set RS = Con.Execute( sqlString )
While not RS.EOF
Set newMailObj = CreateObject("CDONTS.Newmail")
newMailObj.From = "info@forum.se"
newMailObj.To = RS("epost")
newMailObj.Subject = "Bevakning"
newMailObj.BodyFormat = CdoBodyFormatText
newMailObj.MailFormat = CdoMailFormatMime
sMailBody = "Ett inlägg har gjort i en tråd ni bevakar!" & vbNewLine
newMailObj.Body = sMailBody
newMailObj.Send
Set newMailObj = Nothing
RS.MoveNext
Wend
%>
Hmm. Bevakar 1000 st samma tråd samtidigt så lär det inte komma ut många mail.
ScriptTimeOut är till för att samma sida inte skall kunna stå och tugga för länge, vilket lär hända med den där tråden.
Och med din kod skickar du ju till samtliga användare oavsett om de bevakar tråden eller inte.
Du borde försöka dela upp utskicken lite.
Kanske lite onödigt att göra på detta sätt, har inte testat det heller. Men om ett svar görs så lägg till en post i en tabell med nödvändig info. Sedan om det finns någon motsvarighet till cronjobb så kan man göra utskick var 2:e minut och då skicka till ex. 100 pers varje gång eller mer. Delar ju upp det och man kan enkelt ha en annan maskin till mailserver om man vill.
Som sagt, har inte testat det och inte säkert det fungerar i praktiken. Bara en fundering av mig helt enkelt. :)
Problemet är att webbplatsen ska ligga på ett webbhotell och då har jag inte tillgång till att schemalägga jobb eller tillgång till sk. mailpickup kataloger.
Problemet är att webbplatsen ska ligga på ett webbhotell och då har jag inte tillgång till att schemalägga jobb eller tillgång till sk. mailpickup kataloger.
Märks att jag tänker i php-banor :OO
Glömmer helt bort att winservrar inte har cron. :i
Det som tar tid är att du skapar ett helt nytt brev för varje mottagare. Om du måste skicka olika brev till varje person så är det så att det tar tid. Men om flera mottagare ska ha samma brev så ska du bara göra ett brev som du skickar till allihopa. I e-postprogram brukar det kallas för BCC, men det man i själva verket gör är att man inte skriver ut mottagarna i brevet.
Jag tror att det där CDONTS bara är gjort för att skicka enstaka brev och för brev till många mottagare behöver man någon annan komponent. Hör med ditt webbhotell vad det finns för möjligheter. På det jag använder så finns det ett särskilt program för att skicka brev till många adresser.