Avatar billede pedepede Nybegynder
24. august 2006 - 12:10 Der er 14 kommentarer og
1 løsning

Masse afsendelse af mail

Hej
Jeg er ved at lave en webapplikation i c# der skal bruges til at sende mails ud til brugere der har registreret sig. Deres mailadresser har jeg liggende i en SQL database. Når mailsene skal afsendes sætter jeg en loop igang der tager én mailadresse af gangen og sender den. Det virker for så vidt fint nok. Men da jeg testede med 50 mails tog det temmeligt lang tid og jeg vil derfor helt sikkert støde i et problem med "time out" på serveren, sådan at mange ikke modtager min mail.

Hvordan sikrer jeg at dette ikke sker? Det skal lige siges at jeg ikke har mulighed for at ændre på "time out"-indstillingerne.

Mvh
Peter
Avatar billede arne_v Ekspert
24. august 2006 - 13:13 #1
send 10 af gangen med 10 adresser som BCC
Avatar billede segato Nybegynder
27. august 2006 - 21:44 #2
byg en streng op med dine mails og send den en gang:

mail1@hej.dk;mail2@davsen.dk..........
Avatar billede pedepede Nybegynder
28. august 2006 - 13:23 #3
Der er to problemer med denne fremgangsmåde (som jeg desværre ikke fik skrevet om i det indledende spørgsmål). For det første skal jeg merge modtagerens navn ind i mailen. For det andet holder jeg styr hvilke mails der ikke når frem med en funktion der returnerer resultatet for hvert enkel mail. Det kan jeg ikke umiddelbart se kan lade sig gøre på den måde I foreslår.
Avatar billede segato Nybegynder
28. august 2006 - 14:02 #4
Kan du ikke lave en webservice eller lign som sender emails asynkront. Denne webservice kan din webside så kalde. Eller hvis du bare starter det op i en tråd på din webside om det også vil fremkalde en timeout. Det er jeg faktisk ikke helt klar over, men kunne være det var løsningen.
Avatar billede arne_v Ekspert
29. august 2006 - 01:19 #5
du får ikke fejl ved mail afsendelse

(forudsat at din mail server ikke er nede)

ikke eksisterende modtager adresser bouncer senere

så det er ligegyldigt om du sender 1 eller 10 af gangen for den problem stilling

men når modtagers navn skal ind i mailen så skal de sendes individuelt

og så tager det tid

du kan mulige speede det lidt op ved at sende i 10 tråde
Avatar billede segato Nybegynder
29. august 2006 - 08:49 #6
Arne hvad sker der egentlig på iis når man starter en tråd op? Sender den response af sted og tråd kører videre server site, eller venter den på tråd er kørt færdig og så sender response, elle rmå man slet ikke starte en tråd op?
Avatar billede arne_v Ekspert
29. august 2006 - 13:39 #7
den nuværende tråd sender respons mens de startede tråde kører videre

(vil jeg bestemt antage - jeg har aldrig prøvet i ASP.NET)

det er faktisk ikke pænt at starte en tråd i en ASP.NET side, men ...
Avatar billede segato Nybegynder
29. august 2006 - 14:10 #8
Ja jeg er klar over i en windows app fingere det sådan. Er bare i tvivl om, om IIS har nogle restriktioner med tråde osv. Og om tråde dør sammen med den tråd der sender response osv osv. Der bliver vel startet en ny tråd op for hver request og hvornår mon den tråd dør, og hvis den dør, dør så de tråde den har startet.
Avatar billede arne_v Ekspert
29. august 2006 - 15:24 #9
Saa vidt jeg har forstaaet (men jer er ikke ASP.NET guru), saa har ASP.NET en thread
pool pa default 20 traade per web applikation d.v.s. at traade genbruges.
Avatar billede arne_v Ekspert
30. september 2006 - 21:04 #10
pedepede ?
Avatar billede pedepede Nybegynder
03. oktober 2006 - 11:02 #11
Ja, nu skal jeg være der! :O) Beklager snøleriet...

Jeg er lige ved at tro, at den sikreste måde er at lave det på er ved at starte en .exe op på serveren der kan bruge den tid det tager uden at timeoute. Men det giver sikkert nogle andre problemer - måske nogle sikkerhedsmæssige. Det betyder også at jeg skal til at kode det helt om hvis jeg gør det på den måde... Ellers kunne man lave et eller andet med at sende 50 mails af gangen og så reloade siden, men det er lidt noget snask...

Hvorfor er det ikke pænt at starte en tråd op på en ASP.NET-side?
Avatar billede arne_v Ekspert
04. oktober 2006 - 04:34 #12
ASP.NET starter selv tråde op og det totale antal tråde er lidt svær at styre hvis
apps selv starter tråde
Avatar billede pedepede Nybegynder
17. oktober 2006 - 09:27 #13
På tide at lukke og jeg takker mange gange for indsparket. Vil I ikke have nogle points?
Avatar billede arne_v Ekspert
17. oktober 2006 - 13:13 #14
hvis du synes
Avatar billede pedepede Nybegynder
27. februar 2007 - 17:43 #15
Ups! Beklager den lange ekspeditionstid! :(

Mvh
Pede :O)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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