Avatar billede kroger Nybegynder
13. april 2004 - 00:18 Der er 7 kommentarer og
1 løsning

db kørsel med mail afsending

Jeg skal til at lave et script der kører en tabel fra en sql server igennem og skal sende mail til hver post i tabellen med tilhørende information fra den enkelte tabel.
Hver post indeholder en masse information inkl en email adresse hvor informationen sendes til.
Det jeg er i tvivl om hvad det er der rent perfomancemæssigt er smartest.
1. At køre sættet med et loop og sende en mail hver gang (via jmail)
2. først køre tabellen igennem og gemme info i et array, og bagefter jorde igennem arrayet og sende mailen.
3. ?

Håber i kan hjælpe.
Avatar billede retry Nybegynder
13. april 2004 - 08:47 #1
Hvad er problemstillingen mht performance? JMail, kaldt på almindelig facon, tager pænt lang tid om at sende hver mail.

Du bør tænke over, hvordan JMail-fejlmeldinger skal håndteres. Hvad hvis en mailadresse ikke er korrekt?
Avatar billede kroger Nybegynder
13. april 2004 - 08:59 #2
Det jeg er bekymret for er om når nogle af tabllerne der bliver kørt igennem på denne måde, vil køre serveren i synk p.g.a. presset der måske vil kunne opstå med nr 1, som umiddelbart ville være måden jeg ville gøre det på.

Du har fat i en pointe. Jeg ved at mit webhotel også har AspMail, ved ike om denne er hurtigere eller bedre...

M.h.t. til fejladresser, er der så vidt muligt taget højde for det så alle adresser er i det rigtige format så jmail ikke brokker sig i afsending. skulle der være en enkelt eller 2 har det ikke den store betydning da det køres manuelt, men skulle der være måder at tage højde for det på vil jeg da gerne høre om det :)
Avatar billede kroger Nybegynder
13. april 2004 - 09:00 #3
Hov der skulle have stået:

Det jeg er bekymret for er om når nogle af tabellerne er på over 200 poster der bliver kørt igennem på denne måde..........
Avatar billede retry Nybegynder
13. april 2004 - 09:12 #4
Nr. 1 var også mit umiddelbare bud. Og 200 poster er jo ingenting.

Jeg gør dog selv det, at jeg løber tabellen med modtagere igennem og danner emails undervejs. Disse emails lægges i en særlig tabel til formålet: outbox. Dermed er vi jo mere over i dit forslag nr. 2.

JMail afventer svar fra mailserver om at alt er gået vel. Jeg opdaterer en status i hver mail-record i "outbox", når JMail returnerer, "sendt" eller "fejl".

Bruger du TDC-mailserver til at sende fra?
Avatar billede kroger Nybegynder
13. april 2004 - 21:22 #5
Nej det er scannet det er hostet hos så det kører på deres egne.

M.H.T. at lave en "outbox" tabel ved jeg ikke om jeg vinder noget ved da den tabel jeg hiver fra indeholder alt det der skal sendes (inklusive den mailadresse der sendes til), men man kunne selvfølgelig gøre det af hensyn til fejlmeldinger.
Avatar billede retry Nybegynder
13. april 2004 - 21:43 #6
Jeg spurgte om TDC - og det kan det iøvrigt også godt være hos Scannet (spørg eventuelt) - fordi der er en særlig problemstilling, hvis en mail ikke kan leveres til en modtager på samme mailserver. Afsenderen kan simpelthen ikke komme af med mailen.

Outbox-tabellen synes jeg selv er "en konceptuel forenkling", fordi man har helt styr på, hvilke mails, der er sendt, og hvilke der venter. Og der er mulighed for at gemme dem som en historik for hvad man har sendt til den enekelt modtager.
Avatar billede kroger Nybegynder
13. april 2004 - 22:26 #7
Det er en intern mailserver de kører, d.v.s. at den ikke har noget med TDC at gøre, og så skulle der vel ikke være nogen problemer i den henseende...elller.....?

Du har givet mig blod på tanden til at komme videre, så jeg synes du skal smide et svar, og så lige tak for hjælpen :)
Avatar billede retry Nybegynder
13. april 2004 - 22:33 #8
svar.
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