Toon posts:

[ASP] Mailproggie vreet geheugen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik krijg klachten van mijn provider dat mijn de gratis nieuwsbrieven die mijn accounts versturen via mijn systeem vreselijk veel geheugen vreten (volgens mn provider 300 mb)

Voor de mailing worden onderstaande scripts aangeroepen

de eerste voor "platte tekst" en de andere voor een html-versie

Is er soms iets fout met deze scripts? zij houden toch geen geheugen vast?

Ik begrijp dat het geheugen kost om een mailing van bv 500 mailtjes te versturen, maar dat is toch maar tijdelijk?

Function MailTekst(strSubject, strBody, Mail, Recipt)
Dim myMail
Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.From = Mail
myMail.To = Recipt
myMail.Subject = strSubject
myMail.BodyFormat = 1 'normal text
myMail.Body = strBody
myMail.Importance = 2
myMail.Send
Set myMail = Nothing

End Function


Function MailHtml(strSubject, Html, Mail, Recipt)
Dim myMail
Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.From = Mail
myMail.To = Recipt
myMail.Subject = strSubject
myMail.BodyFormat = 0
myMail.MailFormat = 0
myMail.Body = Html
myMail.Importance = 2
myMail.Send
Set myMail = Nothing

End Function

Verwijderd

Niks mis mee volgens mij. En dit kan volgens mij geen 300Mb geheugen innemen. Test het anders thuis eens op een lokaal servertje (zonder de send? of naar eigen mailadres 500 keer).

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
'k Neem aan dat je de addressen uit een database haalt? Misschien dat daar iets fout gaat.

Verwijderd

Stuur je elk bericht appart of stuur je een bericht in 1x aan X personen? Het laatste is natuurlijk wat vriendelijker voor je resources. Versturen naar >10.000 mensen gebruikt bij mij nog geen 5 meg (incl het programma dat de boel verstuurt), dus bij 300 meg is er echt wat mis.

Verwijderd

Topicstarter
Op donderdag 15 november 2001 21:53 schreef Marki het volgende:
Stuur je elk bericht appart of stuur je een bericht in 1x aan X personen? Het laatste is natuurlijk wat vriendelijker voor je resources. Versturen naar >10.000 mensen gebruikt bij mij nog geen 5 meg (incl het programma dat de boel verstuurt), dus bij 300 meg is er echt wat mis.
Elk bericht word apart opgebouwd en verstuurd ivm de unsubscribe

Ik heb ook dat script nagekeken maar die en de database word goed afgesloten

Verwijderd

In dat geval is het denk ik een vermenigvuldigings kwestie. 500x500kb=250meg, al lijk me die 500kb wel aan de grote kant voor een mail objectje, maar het zou natuurlijk kunnen.
Nou ben ik ook niet zo'n ASP kenner, maar is de regel 'Set myMail = Nothing' gelijk aan een destroy of wordt daar alleen een pointer op nil gezet?

Verwijderd

Topicstarter
Op vrijdag 16 november 2001 10:30 schreef Marki het volgende:
In dat geval is het denk ik een vermenigvuldigings kwestie. 500x500kb=250meg, al lijk me die 500kb wel aan de grote kant voor een mail objectje, maar het zou natuurlijk kunnen.
Nou ben ik ook niet zo'n ASP kenner, maar is de regel 'Set myMail = Nothing' gelijk aan een destroy of wordt daar alleen een pointer op nil gezet?
volgens mij word er alleenhet geheugen mee leegeruimd omdat de mail verzonden is

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

volgens mij kun je veel beter het object aanmaken voor je lus, en destroyen na...

nu doe je dit bij iedere aanroep van de functie, en doe je het dus 499 keer voor nix

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Topicstarter
Op vrijdag 16 november 2001 16:27 schreef j_du_pee het volgende:
volgens mij kun je veel beter het object aanmaken voor je lus, en destroyen na...

nu doe je dit bij iedere aanroep van de functie, en doe je het dus 499 keer voor nix
Dat is wel zo maar ik werk het liefste met subroutines of functies zodat je niet alles dubbel of meerdere keren hoef te proggen

zometeen zal ik de functie plaatsen die de mailing opbouwt, mischien zien jullie wat er loos is

Verwijderd

Topicstarter
hieronder staat de functie voor de mailing

De database word bovenin het script geopen dmv een OpenMailbase
het zelfde geld voor de strMail
De variabele Klant is het Klantnummer van de webmaster die de mailing verzend (via een inlogsessie)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Function Mailingverzenden

Dim strBody,strSubject,Html,Eind, strEind,Mail,Mailto,strHtml
strMail.Open"Select * from tblMail where MailID="& Klant
If not strMail.EOF Then
   StrSubject = request.form("onderwerp")
   Mail = strMail("Mail")
   strHtml = Terugzetten(strMail("Html"))
   strEind = strMail("Eind")
   strMail.close
        
   Dim count
   strMail.Open"Select * from tblMailling where AccountID="& Klant
   If not strMail.Eof then
    count = 0
    strMail.Movefirst
    Do Until strMail.EOF 
       count = count + 1
       Mailto = strMail("E-mail")
       Eind = strEind&chr(10)&chr(10)&Subscribe(strMail("Nummering"), Mailto)
       strBody ="Beste "&strMail("Naam")&" ,"
       strBody = strBody &chr(10)&chr(10)&request.form("tekst")
       If strMail("Html") = True Then
        Eind = htmllen(Eind)
        strBody = htmllen(strBody)
        Html= Replace(strHtml, "<bodytekst>", strBody)
        Html = Replace(Html, "<endtekst>", Eind)
        MailHtml strSubject, Html, Mail, Mailto
  
       Else
        strBody = strBody&chr(10)&chr(10)&Eind
        MailTekst strSubject, strBody, Mail, Mailto
       End If
       strMail.MoveNext
    Loop
    Response.write"<br><p> Uw mailing is naar " &count&" accounts gestuurd"
  
    'er word een mailtje naarmijzelf gestuurd 
    strSubject ="Klantnummer "&Klant& " heeft een mailing verzonden"
    strBody="Klantnummer "&Klant& " heeft een mailing verzonden naar "&count&" accounts"
    SendMail strBody, strSubject, "info@debedrijfsgids.nl"
   Else
    Response.write"<br><br>Sorry, u heeft op dit moment nog geen accounts waar uw mail naar verstuurd kan worden"
   End If
End If

'leegmaken vd variabelen
strBody=""
Html=""
Eind=""
strSubject=""
strEind=""
Mail=""
Mailto=""
strHtml=""

strMail.Close
set strMail=nothing
CloseMailBase()
End Function

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

ik blijf echt bij mijn puntje, je kunt je hele functie het zelfde laten, maar maak het object aan voor DO en sluit het na LOOP.

probeer ff of er verschil is, kost je 2 minuten..

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Als je wil bulkmailen moet je eigenlijk dit topic eens lezen:
[topic=181602]

Om vage redenen kan je het CDONTS objectje maar 1 keer gebruiken, je kan er dus niet meerdere mails mee sturen zonder nieuw object te createn :'(

  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

dan zou ik Jmail gaan gebruiken. lijkt me echt onzin om objecten te creeeren en destroyen, terwijl het sneller kan..

er was trouwens toch een andere manier om een cdonts mail aan te maken dan met .newmail?

kaart != map && bottel != fles
Wacht op antwoord


Verwijderd

Topicstarter
Op vrijdag 16 november 2001 19:50 schreef j_du_pee het volgende:
ik blijf echt bij mijn puntje, je kunt je hele functie het zelfde laten, maar maak het object aan voor DO en sluit het na LOOP.

probeer ff of er verschil is, kost je 2 minuten..
Ik heb dit geprobeerd maar dat gaat niet
om de één of andere reden moet het object per mail aangemaakt worden

Ik heb het systeem eens op mn eigen pc uitgetest met een
mailling van 500 naar mn zonnet mailadres (zonnet zal wel flippen haha)

Ik heb een zware html-mail gemaakt zodat ik zeker wist dat hij eraan moest trekken

Tijdens verzending hield ik via Task manager de Cpu en geheugen bij tijdens verzending

het Cpu schommelde tussen de 30 en 40 % en mijn geheugen nam iets meer dan 1100 kb toe

na verzending duurde het wel een tijd voordat het geheugen weer terug bij af was maar 1100 kb voor 500 mailtjes is toch normaal?, Volgens mij zit mn provider gewoon te flippen met zn verhaal dat mijn website 300 mb nodig heeft en voornamelijk het mailsysteem!!
Pagina: 1