ASP.NET MVC automatyczne wysylanie emaili

ASP.NET MVC automatyczne wysylanie emaili
L9
  • Rejestracja: dni
  • Ostatnio: dni
0

Jak zrobić żeby aplikacja sama wysyłała email w określonym czasie, użytkownik podaje datę i godzinę i np. na 2 godziny przed ustalonym terminem aplikacja wysyła do niego maila? Mógłby mnie ktoś naprowadzić?

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

A to musi być aplikacja webowa? Będzie to trudno osiągnąć. Prościej napisać Windows Service, albo zwykłą konsolową aplikację odpalać z harmonogramu zadań.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

@lc90, dlaczego?

Bumcykowy
  • Rejestracja: dni
  • Ostatnio: dni
0

Też miałem kiedyś podobny problem, rozwiązaniem jest odpalenie dodatkowe wątku który zajmie się wysyłaniem emaila. Na stacku znalazłem takie rozwiązanie:

Kopiuj
ThreadPool.RegisterWaitForSingleObject(new AutoResetEvent(false),
    (state, timeout) => { /* TWOJA LOGIKA WYSYŁAJĄCA MAILA*/ },
    null, TimeSpan.FromMinutes(1), false);

Odpalasz to w metodzie

Kopiuj
Application_Start()
  • Rejestracja: dni
  • Ostatnio: dni
1

Złym zwyczajem jest wykonywanie okresowo zadań wewnątrz aplikacji webowej.
Do tego powinien być używany osobny serwis.
Jeżeli pomimo wszystko będziesz robił scheduler wewn. aplikacji webowej to w konfiguracji IISa stwórz sobie osobną pulę i wyzeruj wszystkie dla niej wszystkie idle TimeOuty, bo zwyczajnie uśpi Ci pulę przy braku żądań http.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0
micc napisał(a):

Jeżeli pomimo wszystko będziesz robił scheduler wewn. aplikacji webowej to w konfiguracji IISa stwórz sobie osobną pulę i wyzeruj wszystkie dla niej wszystkie idle TimeOuty, bo zwyczajnie uśpi Ci pulę przy braku żądań http.

Co i tak nie daje gwarancji, że pula będzie stała wiecznie. Dlatego jednak lepiej mieć osobny serwis.

L9
  • Rejestracja: dni
  • Ostatnio: dni
0

Dobra to chyba oleje to wysyłanie maili jeśli tyle z tym problemów ale wpadłem na inny pomysł, da się to zastąpić przez stworzenie tabeli przechowującej wiadomości i dodawaniu do niej rekrodów za pomocą joba(nie jestem pewien czy to do tego służy) albo czegoś innego?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.