Nie polecam strony asp.net do wysłania, nawet jeśli uruchomisz ją w osobnym wątku. Wydaje mi się, że ryzykujesz, że serwer wykona recykling twojego procesu w połowie wysyłania, co zepsułoby to. Naprawdę musisz napisać jakąś oddzielną usługę lub aplikację, aby wysłać swoje e-maile.
Najprostszą opcją byłoby po prostu utworzyć szybką i brudną konsolę lub aplikację do tworzenia okien.
Rejestrowanie jest równie ważne, jak w przypadku innych plakatów. Jeśli się nie powiedzie, chcesz wiedzieć dokładnie, co zostało wysłane i gdzie zostało zatrzymane, aby po ponownym uruchomieniu nie wysyłał wszystkich osób, dla których ponownie pracował. Chcesz móc wprowadzić punkt początkowy wysyłania, więc jeśli chcesz uruchomić ponownie na numer e-mail # 5000, możesz.
Klasy w przestrzeni nazw System.Net.Mail będą działały dobrze dla wysyłania poczty.
Jednym z największych problemów będzie znalezienie hosta pocztowego, który umożliwi wysyłanie tak wielu wiadomości e-mail. Większość hostów poczty e-mail ma funkcję dławienia i czasami zmienia się w zależności od warunków serwera, więc jeśli serwer jest intensywnie wykorzystywany, ograniczenia adresu e-mail będą bardziej restrykcyjne, a Ty możesz ustawić tylko 500 wiadomości e-mail na godzinę.
Mamy biuletyn, który wychodzi do około 20000 ludzi jako oddzielne wiadomości e-mail i mieliśmy się bawić z opóźnieniem między maile aż znaleźliśmy taki, który będzie pracować dla naszego gospodarza e-mail. Kończyliśmy między e-mailami o 1,2 s, więc może to być dobry punkt wyjścia.
Myślę, że są gospodarzami email specjalność wysyłek masowych choć więc jeśli masz jeden z tych, to może nie być problemem.
Również, jeśli hostujesz własny adres e-mail, może to nie być problemem. A jeśli hostujesz swoją własną pocztę, będziesz mógł zostawić pocztę w katalogu pobrań i możesz po prostu zrzucić ją tam tak szybko, jak chcesz, i pozwolić usłudze pocztowej odebrać ją we własnym tempie.
EDIT: Oto ustawienia, aby dodać do pliku konfiguracyjnego do ustawiania katalogu pobierającej
<system.net>
<mailSettings>
<smtp from="[email protected]" deliveryMethod="SpecifiedPickupDirectory" >
<specifiedPickupDirectory pickupDirectoryLocation="Z:\Path\To\Pickup"/>
</smtp>
</mailSettings>
</system.net>
cześć, dzięki za odpowiedź. Posiadamy własny serwer wymiany. Zastanawiam się, jak mogę upuścić pocztę w katalogu pickup? –
W elemencie mailsettings pliku konfiguracyjnego można zmienić metodę dostarczania. Możesz to również zrobić programowo. http://msdn.microsoft.com/en-us/library/ms164240.aspx –
Dzięki Cris dam to próbować –