Hej, jag har skrivit ett program som skall loopas 6000 gånger, alltså skicka ut mail via vb.net. Problemet jag får är att smtp-tjänsten är oerhört långsam och undrar om det är så att jag kanske kan bulka mail eller något för att få det gå snabbare. Om du inte kan använda dig av din ISP:s/webbhotells smtp-server kan du lika gärna skicka breven själv. Det går till så här: Jo, jag använder min ISP:s/webbhotells smtp-server adress och det fungerar. Men eftersom det är sådana mängder tar det sån tid. Men jag skall fundera på din teknik, frågan är kanske mer om det finns någon annan teknik jag skall använda mig av för att få bättre aktivitet. Varje mail är ju runt 23k så det blir rätt hög dataaktivitet. Aha, jag trodde att du med smtp-tjänst menade smtp-servern i IIS, men nu gissar jag istället att du menar nån form av smtp-komponent till vb.net som du alltså använder dig av i ditt program för att förenkla kodskrivandet? Jag tror inte vb-s komponent stöder att skicka mail per bulk men jag kan prova så får vi se. Rörande att skicka färre mail går inte eftersom de är personligt adresserade med exempelvis "Hej Thomas".. plocka trådar frånt threadpoole och multitaska lite ... anvädner du tex 10 trådar så drar du ju antagligen runt 10 mail / 5 sek ... lite snabbare än innan Tack för era tips. Det där var överkurs Patrik, men jag förstår i princip vad du menar. Nu gjorde jag så att jag använde vb.net's cdonts och med den kunde jag posta 6020 mail på 17 minuter - det får duga. > Men frågan kvarstår hur man mest optimalt skickar en stor mängd mailPrestanda på smtp-tjänsten
Mailen rasslar iväg ungefär med 1 per 3 till 5 sekunders mellanrum
HälsningarSv: Prestanda på smtp-tjänsten
* Sortera mottagarlistan efter domän.
* Slå upp domänerna i dns:en (MX) så får du fram vilken smtp-server du ska använda för respektive domän.
* Anslut till den första servern och ange så många mottagare du får (kanske 25 stycken).
* Skicka brevet.
* Om fler mottagare återstår till den domänen, kontakta servern igen.
* Anslut till servern för nästa domän, osv...Sv: Prestanda på smtp-tjänsten
HälsningarSv: Prestanda på smtp-tjänsten
När du använder ISP/webbhotellets smtpserver ska du istället göra så här:
* Ansluta till servern.
* Skicka mottagare från listan tills servern säger stopp och inte tar emot fler.
* Skicka över brevet.
* Bryt kontakten.
* Anslut på nytt och fortsätt skicka mottagare från listan där du slutade sist.
Om smtpservern accepterar exempelvis 25 mottagare per brev behöver du ju bara skicka brevet 6000 / 25 = 240 gånger istället för 6000.Sv: Prestanda på smtp-tjänsten
Men det är ju detta som är utmaningen med programmering. Att förstå, kringå och lösa problem. Lite strul skall det vara, annars är det ju inget roligt :-)Sv: Prestanda på smtp-tjänsten
Sv: Prestanda på smtp-tjänsten
Men frågan kvarstår hur man mest optimalt skickar en stor mängd mail som då är personifierade (alltså att alla får olika mail). Om någon läser om detta så säg gärna till för det vore spännande att veta.Sv: Prestanda på smtp-tjänsten
> som då är personifierade (alltså att alla får olika mail).
Det går inte. Du måste skicka ett och ett då.
Du får ju fråga dig om det är verkligen är värt så mycket att var och en får sitt namn i brevet att det ska ta fyra gånger så lång tid att skicka ut.
Personligen blir jag misstänksam när jag får ett brev från någon jag inte känner där mitt namn står med. Det tyder på att någon försöker ställa sig in hos mig så jag ska gå på deras reklam.