Avatar billede reason Nybegynder
10. november 2001 - 18:49 Der er 5 kommentarer og
2 løsninger

Jmail til at sende mange mails

Jeg skal have lavet et script til at sende mails til en mailing liste. Det har jeg så også lavet men der er et problem, det tager kæmpe lang tid at sende alle mails\'ne (ca 25min med 2200 mails).

Her er min kode:
var i=0
var mails=\"\"
while (!rs.EOF)
{
    i++

    var JMail = Server.CreateObject(\"JMail.SMTPMail\")
    JMail.Silent = true;
    JMail.Logging = true;
    JMail.ServerAddress = \"***\"
    JMail.Sender = \"***\"
    JMail.SenderName = \"***\"
    JMail.Subject = String(Subject)
    JMail.Body = String(text)

    JMail.AddRecipient(String(rs(\"Email\")))

    mails = String(rs(\"Email\"))+\" nr. \"+i+\"<br>\"

    if (JMail.execute()) {
        Response.Write(\"Der er nu sendt et nyhedsbrev til \"+rs(\"Email\")+\" / \"+i+\"<br>\")
    }
    else {
        Response.Write( \"ERROR MESSAGE: \" + JMail.ErrorMessage + \"<BR>\")
            Response.Write( \"ERROR SOURCE: \" + JMail.ErrorSource + \"<BR>\")
            Response.Write( \"LOG: <pre>\" + JMail.Log + \"</pre><br>\")
            Response.Write( \"EMAILs: \" + mails + \"<br>\")
    }

    Response.Flush()
    rs.MoveNext()
}

Jeg har også prøvet at bruge JMail.AddRecipientBCC() men det var ikke hurtige og Jmail ville slet ikke sende hvis der bare var en forkert email.

Nogle gode forslag?
Avatar billede c9steen Nybegynder
11. november 2001 - 07:43 #1
Det ser ud til, at du sender én mail af gangen og det er en meget tidskrævende form.

Med AddRecipientBCC kan du tilføje samtlige mailadresser efter tur uden at modtagerne kan se hinanden og derefter sende dem samlet. Det skal give dig en tidsbesparelse men du kan så ikke personalisere dine mails - det er vel heller ikke meningen på en mailliste.

Brug altså AddRecipientBCC og vent med at afvikle JMail.Execute til efter din while løkke.

Du bør også se i dimac\'s forum, det kan være et problem at opsamle så mange mails i samme liste. Der er flere indlæg om dette. I nogle tilfælde kan du kun opnå nogle få hundrede men det var vidst værst i den gamle JMail (3.x): http://tech.dimac.net
/Steen
Avatar billede reason Nybegynder
11. november 2001 - 12:25 #2
Som jeg skriver:
\"Jeg har også prøvet at bruge JMail.AddRecipientBCC() men det var ikke hurtige og Jmail ville slet ikke sende hvis der bare var en forkert email.\"
Avatar billede krogstrup Nybegynder
11. november 2001 - 12:48 #3
Prøv at indsætte denne linje:

JMail.Lazysend = true
Avatar billede reason Nybegynder
11. november 2001 - 12:53 #4
damn hvordan kan jeg overse den ??
nå men det må jeg hellere prøve
Avatar billede c9steen Nybegynder
11. november 2001 - 20:31 #5
Anvendelse af BCC funktionen i ovennævnte eksempel vil stadig kun sende én mail af gangen. Dvs. du aktiverer JMail.Execute 2200 gange og sender altså 2200 mails istedet for at sende én og samme mail til 2200 modtagere...!

Din Response.Flush bevirker også, at der er kommunikation mellem serveren og browseren for hver mail du sender. Ikke underligt, at det tager lang tid.
Avatar billede reason Nybegynder
11. november 2001 - 23:18 #6
hvis jeg brugte BCC var der jo ikke nogen grund til at sende det hver gang. Jeg har prøvet det du skrev med først at added alle adresserne med BCC og så sende men det virker slet ikke.
Avatar billede c9steen Nybegynder
12. november 2001 - 08:57 #7
Ok - men det fremstår ikke af tidligere info eller eksemplet.

Jeg vil igen henvisee til dimac\'s forum, hvor du bør gennemtrevle slige problemer. Arbejder du med Access vil det heller ikke gøre problemet mindre, da den kan være langsom ved så stor en gennemskanning.
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

IT-JOB

Politiets Efterretningstjeneste

GenAI-specialist i PET

Forsknings-, Uddannelses- og Digitaliseringsministeriet

Vil du være med at udvikle sikkerhed og compliance i CPR?

Capgemini Danmark A/S

Client Partner

Scan Global Logistics

PMO Project Manager