Avatar billede hirtshals Nybegynder
25. oktober 2004 - 08:42 Der er 4 kommentarer og
2 løsninger

ASP Løsning til Masse afsendelse af Mial via Jmail

Jeg søger en ASP løsning til afsendelse af ca 2200 mails via Jmail - hvor modtagerens id i databasen skal sendes med ud i nyhedsbrevet - f.eks således

<a href='Login.asp?id=" & rs("idModtager") & "'>Klik her for at ligge ind</a>

Jeg har det samme problem som alle andre i de indlæg jeg har studeret nøje - serveren timer ud. Jeg har ikke fundet en løsning her på eksperten ej heller via søgning på google

Mit webotel er placeret hos wannafind.

Jeg har læst af man skal lukke jmail objektet efter hver 20 modtager - samt splitte antal af bcc modtagere op.

Er der en der har et færdigt script liggende - der opfylder ovenstående og som virker

På forhånd tak
Avatar billede -thomas- Nybegynder
25. oktober 2004 - 08:51 #1
Sæt Server.ScriptTimeout = 3600 og kør evt en Response.Flush til browseren - jeg har i hvert fald ingen problemer med at den timer ud.

Jmail-objektet behøver du kun oprette en gang og derefter bruge Addrecipient, sende mailen og Clearrecipients. Jeg ville aldrig bruge bcc til at sende så mange mails ud - så er du næsten sikker på at blive afvist som spam.
Avatar billede michaelfp Nybegynder
25. oktober 2004 - 23:19 #2
Nedenstående funktion skal du tilpasse - men den vil danne en email til de brugere som findes i den tabel, du angiver i sql strengen. Funktionen tager højde for det problem, som er kendt m.h.t timeout.
Jeg har selv oplevet, at hvis execute kaldes inden i løkken, så dannes én email, hvor alle modtagere står i d.v.s alle modtagere kan se hinandens email!

Selve body delen kan du bygge om som du vil og lade den indeholde idModtager feltet.

Inden funktionen kaldes, skal databasen være åben og du skal ændre conn til det navn du bruger som connectionstring.

  Function Emailmerge
  Dim StrSQL, Rs
    Set Rs = Server.CreateObject("ADODB.Recordset")
    StrSQL = "SELECT  FROM WHERE "
    Rs.Open StrSQL, conn, 3, 3

    Do While not Rs.EOF
      Set JMail          = Server.CreateObject("JMail.SMTPMail")
      If InStr(Rs("Email"),"@") > 0 Then
        JMail.ServerAddress = "websmtp.ditdomæne"
        JMail.Sender        = "afsenderemailadresse
        JMail.Subject      = "dit subject"
   
        JMail.AddRecipient  "modtagers email" ' f.eks rs("email")
        JMail.Priority      = 3
        JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
   
      ' ********** Her starter selve email-en
        JMail.Body = "Kære " & Rs("navn") & VbCrLf & VbCrLf & Rs("mailbody")

      ' ********** Her slutter selve email-en
        Jmail.Execute
      End if
      Jmail.close
      Set JMail = Nothing   
      Rs.Movenext
    Loop 

    Rs.Close
    Set Rs = Nothing
  End Function
Avatar billede hirtshals Nybegynder
26. oktober 2004 - 09:58 #3
Belaster det ikke serveren unødigt meget at  JMail oprettese og slettes hele tiden ??

Vil det ikke være mere optimalt at gør det en gang for alle

og mht problemet med en email hovr alle kan se alle - løses det ikke ved en  Jmail.Clearrecipients ligefter Jmail.Execute ??


dim JMail
Server.ScriptTimeout = 3600

Function OpenJmail
  Set JMail = Server.CreateObject("JMail.SMTPMail")
end function

Function Emailmerge
'michaelfp's - funktion

end function

Function CloseJmail
  Jmail.close
  Set JMail = Nothing   
end function
??
Avatar billede michaelfp Nybegynder
26. oktober 2004 - 10:52 #4
Det tror jeg ikke - det er jo et og samme object der allokeres og deallokeres.
Det er selvfølgelig mange mails, du skal sende (det jeg har lavet sender mellem 300 og 500 mails af gangen)- men er det ikke et spørgsmål om at prøve?

Jeg har ikke prøvet jmail.clearrecipients - kan være et forsøg værd!
Det er ikke lykkedes mig at bruge server.scripttimeout som en løsning på det kendte problem med over 20 mails! Måske har du bedre held end mig.
Avatar billede michaelfp Nybegynder
27. oktober 2004 - 21:42 #5
Skal spørgsmålet lukkes - eller er der noget uafklaret?
Avatar billede hirtshals Nybegynder
01. november 2004 - 07:49 #6
Tak for inputs

Ligeledes har jeg også fundet inspiration her

http://eksperten.dk/spm/396250
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