Vraag & Antwoord

Webprogrammeren & scripting

[ASP] Auto e-mail resultaat

6 antwoorden
  • Ik heb de volgende SQL om 2 tabellen tegen elkaar te kunnen matchen. Bijvoorbeeld: Test.Model Test.Type BMW 316 Mercedes SLK Opel Tigra Opel Calibra BMW 520 Login.Model BMW email@email.com Opel jansen@jansen.com SQL: [code:1:5c6852ecab] -------------------------------------------------------------------------------- SELECT Test.Model, Test.Type, Login.Models, Login.Types, Login.Minlength, Login.Maxlength, Test.Loa, Test.Asking_price, Login.Minprice, Login.Maxprice, Test.Hull_Material, Login.Material, Login.Email FROM Test, Login WHERE Test.Model LIKE Login.Models AND Test.Type = Login.Types AND Test.Loa BETWEEN Login.Minlength AND Login.Maxlength AND Test.Asking_price BETWEEN Login.Minprice AND Login.Maxprice AND Test.Hull_Material = Login.Material ORDER BY Test.Model -------------------------------------------------------------------------------- [/code:1:5c6852ecab] Vervolgens moeten de resultaten (als die er zijn) gemaild worden naar de juiste persoon. Dit werkt door middel van: [code:1:5c6852ecab] -------------------------------------------------------------------------------- <% While ((Repeat1__numRows <> 0) AND (NOT rsSearch.EOF)) %> <tr> <td><%=(rsSearch.Fields.Item("Model").Value)%></td> <td><%=(rsSearch.Fields.Item("Type").Value)%></td> <td><%=(rsSearch.Fields.Item("Asking_price").Value)%></td> </tr> <% Set mail = Server.CreateObject("CDONTS.NewMail") mail.From = "info@mijnsite.nl" mail.To = rsSearch("Email") mail.BodyFormat = 0 mail.MailFormat = 0 mail.Subject = "subject" mail.Body = rsSearch("Model") & rsSearch("Type")& rsSearch("Asking_price") mail.Send Set mail = Nothing %> <% Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 rsSearch.MoveNext() Wend %> -------------------------------------------------------------------------------- [/code:1:5c6852ecab] Echter ik krijg nu net zoveel mailtjes als dat er "hits" zijn. Ieder resultaat wordt nu apart in een mailtje gezet en gemaild. Ik wil ecter dat alle resultaten in 1 mailtje wordt gezet en naar de juiste persoon wordt gestuurd. Hoe kan ik dit nu bereiken. De Loop voor het verzenden van de e-mail lijkt mij goed. Ligt het misschien aan de SQL ?
  • Je moet er voor zorgen dat je alle emailadressen verzamelt, en dat kan met dezelfde loop. Echter, je moet het e-mailgedeelte natuurlijk wel buiten die loop houden. Want stel nu eens dat je 100.000 matches hebt, dan verstuur je honderdduizend e-mails met de opzet die je nu hebt.
  • Enig idee, hoe ik mijn code zou moeten veranderen ? Als ik het e-mail gedeelte buiten de loop zet, dan krijg ik maar 1 mailtje met resultaat.
  • Zoiets? [code:1:40c9366d0a] <% Set mail = Server.CreateObject("CDONTS.NewMail") mail.From = "info@mijnsite.nl" mail.To = rsSearch("Email") mail.BodyFormat = 0 mail.MailFormat = 0 mail.Subject = "subject" mail.Body = "" While ((Repeat1__numRows <> 0) AND (NOT rsSearch.EOF)) %> <tr> <td><%=(rsSearch.Fields.Item("Model").Value)%></td> <td><%=(rsSearch.Fields.Item("Type").Value)%></td> <td><%=(rsSearch.Fields.Item("Asking_price").Value)%></td> </tr> <% ' Je moet maar even zien of += werkt, je moet natuurlijk erbij plakken, ' en niet iedere loop de body content vervangen mail.Body += rsSearch("Model") & rsSearch("Type")& rsSearch("Asking_price") +"\n" Repeat1__index=Repeat1__index+1 Repeat1__numRows=Repeat1__numRows-1 rsSearch.MoveNext() Wend mail.Send Set mail = Nothing %> [/code:1:40c9366d0a]
  • Dan stuur je maar één mailtje, terwijl dat ook weer niet de bedoeling is... Oplossing: loop 1 alle mailtjes samenstellen etc en die in een 2e loop versturen.
  • Bovenstaand voorbeeld had ik ook al geprobeerd. Of ik krijg het voor elkaar om 1 mailtje te sturen, of tig mailtjes, met in ieder mailtje een ander resultaat van de query. Iemand nog tips ?

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.