Avatar billede uneerup Nybegynder
09. marts 2006 - 20:30 Der er 13 kommentarer og
1 løsning

mailsender spørgsmål

Hej Eksperter,

jeg har lavet et mailscript der sender 20 mails af gangen via et loop derefter genopfrisker den siden og sender så 20 mails mere osv.

For at teste det sender jeg 100 mails til mig selv, men jeg modtager kun imellem 94 og 98 mails. Det skal siges at jeg har sat et delay på 5 sek før den refresher siden.

Jeg har sat en "tæller" på i subject linjen, så jeg kan se hvilke mails der mangler når den er færdig med at sende. Og det svinger lige fra mail nr. 3 til mail nr 90.

Mit spørgsmål er så, skal jeg regne med at der under alle omstændigheder vil være et lille tab når jeg sender mange emails afsted? Eller kan jeg tjekke om hver mail er sendt succesfuldt, for så at sende den igen.

PS:
Jeg benytter benytter JMail og det er på et webhotel hos www.unoeuro.com (iøvrigt et ganske fint webhotel til pengene)

Håber der er et klogt hoved der kan hjælp mig :-)
/uneerup
Avatar billede fennec Nybegynder
10. marts 2006 - 08:47 #1
Er der en grund til at du sender mails enkeltvis, i stedet for at tilføre flere modtagere til mailen??
Avatar billede uneerup Nybegynder
15. marts 2006 - 15:26 #2
Jeg går ud fra det er måden at gøre det på når jeg har op til 2000 modtagere i min database.

Har du evt. en anden måde at gøre det på?? Jeg er meget nysgerrig da jeg ikke er 100% sikker på om jeg gør det rigtig.
Avatar billede fennec Nybegynder
15. marts 2006 - 15:42 #3
Enten ville jeg høre om der er et mailque bibliotek, hvor du kan smide dem op i. Tjek Queing emails eks på dimac' hjemmeside
http://www.dimac.net/Products/w3JMail/Version43/Examples/ExampleStart.htm

Ellers ville jeg bare tilføje dem alle til BCC:

...
...
msg.Subject = "Emne"
msg.Body = "hej med dig"
set rs = conn.execute("select alle email...")
while not rs.eof
  msg.AddRecipientBCC rs("email")
  rs.MoveNext
wend
if not msg.Send("dit.Domæne.dk" ) then
  Response.write "<pre>" & msg.log & "</pre>"
else
  Response.write "Message sent succesfully!"
end if
Avatar billede fennec Nybegynder
15. marts 2006 - 15:43 #4
!!! Vær opmærksom på at det SKAL være BCC, da det er ulovligt at udsende nyhedsbrev, hvor modtagerne kan se hinandens email !!!
Avatar billede uneerup Nybegynder
15. marts 2006 - 15:47 #5
oki,
1. virker mailque hvis man benytter JMail på alle servere?
2. Kan man virkelig putte 2000 emailadresser i BCC? Og er det 100% sikkert at alle modtager emailen?

Jeg har købt et email program "newsletter pro" den sender ud i batch's altså f.eks 9 af gangen og så venter den f.eks 5 sek og så sender den igen. Har du nogle forklaring på at den gør det? Det er nemlig derfor jeg har lavet min egen mailsender på den måde.
Avatar billede uneerup Nybegynder
15. marts 2006 - 15:57 #6
Hey igen,

mht. mailque, hvordan sender man så 2000 emails med denne? Skal man også lave en lykke der køre 2000 gange der eller er der en smartere måde at gøre det på? Kan man evt benytte et array?

PS: undskyld de mange spørgsmål, men jeg er villig til at gi flere point for dem :-)
Avatar billede fennec Nybegynder
15. marts 2006 - 15:57 #7
1. Ja, hvis det er sat op, men det er ikke sikker unoeuro har gjort det.
2. Har ikke hørt om en begrænsning, og har selv lavet mails med et par hundrede modtagere. Du kan jo sammensætte koden, så den kun tilføjer 100 af gangen, men det burde ikke være nødvendigt.

(3). Det er for at ikke lægge for meget stress på mailserveren og programmet. Du kan lave/sende mails hurtigere en mailserveren kan sende dem ud, så den kan begynde at sende timeouts til programmet, hvorfor mails går tabt.
Avatar billede uneerup Nybegynder
15. marts 2006 - 16:07 #8
Jeg har nu testet mailque og det virker.

Hvordan vil du sætte det op, så den sender 2000 emails?

Hvis jeg sætter den til at loop 2000 gange, så timer den vel ud?
Avatar billede fennec Nybegynder
15. marts 2006 - 16:22 #9
Med mailque timer den ikke ud...

Det der sker at at den laver en .msg fil (eller hvad de nu hedder) og smider i mail-biblioteket. Dette bibliotek tjekker mailserveren når den har tid, gerne et par gange i minuttet, og finder den mailfiler begynder den at sende dem. Hvis der er meget pres på mailserveren, kan du altså komme ud for, at den ikke kikker i biblioteket, før den er færdig med de opgaver, hvilket tager den tid det skal tag (mange minutter..)

Du kan altså smide så mange mails i det bibliotek du vil, Og er mailserveren nede får du ingen fejl, få når den kommer op igen, tjekker den biblioteket og begynder at sende :o)
Avatar billede uneerup Nybegynder
15. marts 2006 - 16:30 #10
Jamen hvis jeg sætter en løkke igang med 2000 emailadresser, så ville den da time ud på et tidspunkt. Det tager jo lang tid????
Avatar billede fennec Nybegynder
15. marts 2006 - 16:40 #11
Det skulle det helst ikke gøre...

Ved normal send metode, skal du sende mailen til mailserver, og vente på at den har modtaget den, hvilker tage mange milisekunder. Med que metoden skal du ikke vente på mailserveren.

Du kan endag gøre det endnu mere simpel med Mailmerge funktionen. Læs "Mailmerge with ResultSet" eks fra Dimac. Der er også indbygget en test mode (SetDebugMode)
Avatar billede uneerup Nybegynder
15. marts 2006 - 16:41 #12
tak for hjælpen.
Avatar billede uneerup Nybegynder
15. marts 2006 - 16:42 #13
tror jeg har det hele nu :-)
Avatar billede fennec Nybegynder
15. marts 2006 - 16:47 #14
Ok, og tak for point.

.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester