Avatar billede zubfatal Nybegynder
26. september 2000 - 22:58 Der er 16 kommentarer og
1 løsning

Mailingliste med JMail der kan håndtere mange mails hurtigt?

jeg hentede følgende source fra netcoders.dk:

-------
<HTML>
<HEAD>
<TITLE>Mailingliste</TITLE>
</HEAD>
<BODY BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\">
<%
if request(\"mode\") = \"send\" then
\'****** VÆLG PROGRAM TIL AT SENDE MAILEN ******
\'1 = JMAIL
\'2 = CDONTS

mailertype = 2

\'**********************************************

Set Conn = Server.CreateObject(\"ADODB.Connection\")
conn.Open \"DBQ=\"&(Server.MapPath(\".\")) &\"\\mailing.mdb; DefaultDir=DBQ=\"&(Server.MapPath(\".\")) &\"\\;Driver={Microsoft Access Driver (*.mdb)};\"
    SQL = \"SELECT * from mailingliste\"
    set send = conn.execute( SQL )
    do while not send.eof
    on error resume next
if mailertype = 1 then
        Set JMail = Server.CreateObject(\"JMail.SMTPMail\")
        \' This is my local SMTP server
        JMail.ServerAddress = \"din.mail.server\"
   
        \' mail config settings
        JMail.Charset = \"iso-8859-1\"
        JMail.ContentTransferEncoding = \"8bit\"
       
        JMail.Sender = \"afsenders emailadresse\"
        JMail.Subject = request(\"header\")
        JMail.AddRecipient send(\"email\")
        JMail.Body = request(\"tekst\")
       
        \' 1 - highest priority (Urgent)
        \' 3 - normal
        \' 5 - lowest
       
        JMail.Priority = 3
       
        \' Send it...
        JMail.Execute
        set JMail = nothing
elseif mailertype = 2 then

        \' importance = 0        \' lav
        importance = 1        \' normal
        \' importance = 2        \' høj

        Set mailObj = CreateObject(\"CDONTS.NewMail\")
   
        \' send email med parametre : fra email, til email, header, besked, importance
        mailObj.Send \"afsenders emailadresse\", send(\"email\"), request(\"header\"), request(\"tekst\"), importance

        \' slet reference til CDONTS object
        Set mailObj = Nothing
end if



response.write \"<FONT FACE=\'Arial\' SIZE=\'2\' COLOR=\'#000000\'><STRONG>E-mail er sendt til : \"& send(\"email\") &\"</STRONG></FONT><BR>\"
send.movenext
loop
conn.close
else %>
<CENTER>
<TABLE BORDER=\"0\">
<form action=\"write_send.asp\" METHOD=\"POST\">
<INPUT TYPE=\"hidden\" NAME=\"mode\" VALUE=\"send\">
  <TR>
    <TD ALIGN=\"LEFT\">
    <FONT FACE=\"Arial\" SIZE=\"2\" COLOR=\"#000000\"><STRONG>
    Overskrift:&nbsp;
    </STRONG></FONT>
    </TD>
    <TD ALIGN=\"LEFT\">
    <INPUT TYPE=\"TEXT\" NAME=\"header\" SIZE=\"50\">
    </TD>
  </TR>
  <TR>
    <TD ALIGN=\"RIGHT\" VALIGN=\"TOP\">
    <FONT FACE=\"Arial\" SIZE=\"2\" COLOR=\"#000000\"><STRONG>
    Tekst:&nbsp;
    </STRONG></FONT>
    </TD>
    <TD ALIGN=\"LEFT\">
    <TEXTAREA COLS=\"45\" ROWS=\"15\" NAME=\"tekst\"></TEXTAREA>
    </TD>
  </TR>
  <TR>
    <TD ALIGN=\"LEFT\">
    &nbsp;
    </TD>
    <TD ALIGN=\"RIGHT\">
        <input type=\"submit\" value=\"-- SEND --\">
    </TD>
  </TR>
</FORM>
</TABLE>
</CENTER>
<% end if %>
</BODY>
</HTML>
------

det fungerer osse fint nok, og er ret hurtigt ..
MEN problemet kommer så snart der kommer en del mails i den database
har testet med 150 men den skal kunne håndtere mange mange flere .. ved ikke præcist hvor mange endnu ..
dette skal den kunne UDEN at man skal sidde og vente i timevis efter man har trykket \'send\' i formen .. hvordan hylan gør man det og kan det lade sig gøre med jmail i det hele taget?
Avatar billede phylox2 Nybegynder
26. september 2000 - 23:01 #1
Det bedste er, hvis du bruger CDONTS maileren - men jeg tror dog, at Jmail 4.0 skulle være temmelig hurtig!

http://tech.dimac.net
Avatar billede zubfatal Nybegynder
26. september 2000 - 23:06 #2
har forsøgt at læse mig frem til en løsning men har endnu ikke fundet noget der kunne bruges ;< kender intet til cdonts
Avatar billede phylox2 Nybegynder
26. september 2000 - 23:12 #3
Jeg kan da se, at du allerede har CDONTS i dit script, og bare skal ændre Mailertype til 2.

Men hvis du vil forsøge med JMail 4.0, så hent den fra den side, jeg gav link til og brug følgende i stedet for :


set msg = Server.CreateOBject( \"JMail.Message\" )
msg.Logging = true
msg.silent = true
msg.From = \"test@mydomain.com\"
msg.FromName = \"My Realname\"
msg.AddRecipient \"recipient@hisDomain.com\", \"His Name\"
msg.AddRecipient \"recipientelle@herDomain.com\"
msg.Subject = \"How you doin?\"
msg.Body = \"Hello Jim\" & vbCrLf & vbCrLf & \"How\'s it going? ...\"
if not msg.Send(\"mail.myDomain.net\" ) then
    Response.write \"<pre>\" & msg.log & \"</pre>\"
else
    Response.write \"Message sent succesfully!\"
end if

Skal selvfølgelig rettes til, ligesom det skulle i det script, som du har postet i spørgsmålets indledning.
Avatar billede zubfatal Nybegynder
26. september 2000 - 23:19 #4
det jeg pastede var original sourcen, uden jeg har pillet i den ;) og serveren jeg tester på har jmail 4 installeret ..
Avatar billede phylox2 Nybegynder
26. september 2000 - 23:34 #5
Ja okay - så skal du bare rette det til, så den bruger JMail 4.0 i stedet for 3.7

Det skal lige siges, at Computerworld faktisk bruger CDONTS og de sender til 30.000 abonnenter 3 gange om dagen - så mon ikke den virker :)
Avatar billede zubfatal Nybegynder
27. september 2000 - 09:47 #6
hmm dette er meget hurtigt, men den sender ingen mails afsted?

----

<%

if request(\"mode\") = \"send\" then

Set Conn = Server.CreateObject(\"ADODB.Connection\")
conn.Open \"DBQ=\"&(Server.MapPath(\".\")) &\"\\mail\\mailing.mdb; DefaultDir=DBQ=\"&(Server.MapPath(\".\")) &\"\\;Driver={Microsoft Access Driver (*.mdb)};\"
SQL = \"SELECT * from mailingliste\"
set send = conn.execute( SQL )
on error resume next

Set JMail = Server.CreateObject(\"JMail.SMTPMail\")
JMail.ServerAddress = \"mail.internetservice.dk\"
JMail.Charset = \"iso-8859-1\"
JMail.ContentTransferEncoding = \"8bit\"
JMail.Sendername = \"InternetService Mailingliste\"       
JMail.Sender = \"test@internetservice.dk\"
JMail.Subject = request(\"header\")
JMail.Body = request(\"tekst\")
JMail.Priority = 3
JMail.AddRecipient \"test@internetservice.dk\"

dim bccStr
do while not send.eof
    bccStr = bccStr & send(\"email\") & \";\"
    send.movenext
loop

JMail.AddRecipientBCC bccStr

\'response.write bccStr & \"<br>\"

JMail.Execute
set JMail = nothing

conn.close
set conn = nothing

response.write \"det tog: \"
call myTimer()
response.write \"ms at sende alle mails.\"

----

hvorfor?
Avatar billede amorion Nybegynder
27. september 2000 - 10:19 #7
Jeg har en maillingliste med admin du må istedet hvis det er? :)
Avatar billede zubfatal Nybegynder
27. september 2000 - 10:25 #8
amorion:

hvordan har den det med at sende 150+ mails .. mener ang. ventetiden fra man trykker \'send\' i formen, til man kan få lov til at arbejde videre .. men jeg vil da gerne se/prøve den ;) hvilken komponent bruger den?
Avatar billede amorion Nybegynder
27. september 2000 - 10:28 #9
Har en med Jmail og ASPmail...kan snilt lave den om til cdonts...



jeg har ikke testet den på så mange :)
Avatar billede zubfatal Nybegynder
27. september 2000 - 13:13 #10
Jeg vil da gerne se på den så .. og afprøve den ;)
Avatar billede zubfatal Nybegynder
27. september 2000 - 13:14 #11
og gerne med jmail da det er den der er installeret på serveren.
Avatar billede amorion Nybegynder
27. september 2000 - 13:15 #12
Okay...kom med en email...den er hurtig bikset sammen..så inte brok tak ..hehe..
Avatar billede zubfatal Nybegynder
27. september 2000 - 13:26 #13
ok, hejmor@stillborn.dk ;)
Avatar billede amorion Nybegynder
27. september 2000 - 13:29 #14
Afsendt... :)
Avatar billede zubfatal Nybegynder
27. september 2000 - 13:37 #15
takker jeg kigger lige på det .. ;)
Avatar billede zubfatal Nybegynder
02. oktober 2000 - 15:32 #16
takker, det virkede faktisk ret ok, og du havde ret, det var mailserveren der var sløv ;< har du nogen ide\'er til hvad man så kan gøre?
Avatar billede amorion Nybegynder
02. oktober 2000 - 15:38 #17
Hm...egen server ville vel hjælpe..
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