Jednym z naszych problemów jest to, że nasz wychodzący serwer e-mail czasem coś zasysa. Użytkownicy uruchomią wiadomość e-mail w naszej aplikacji, a aplikacja może zabrać ją w ciągu 30 sekund, aby ją wysłać. Zróbmy to jeszcze gorzej i przyznamy, że nie robimy tego nawet w wątku tła, więc użytkownik jest całkowicie zablokowany w tym czasie. Baza danych programu SQL Server została zaproponowana jako rozwiązanie tego problemu, ponieważ zasadniczo implementuje kolejkę komunikatów i jest fizycznie bliższa i znacznie bardziej responsywna niż nasz zewnętrzny host poczty e-mail. Jest też wprawdzie bardzo łatwy w implementacji, ponieważ zastępuje jedno połączenie z SmtpClient.Send
wykonaniem procedury składowanej. Większość naszego e-maila z aplikacją zawiera pliki PDF, XLS i tak dalej, a widzę, że rozmiar tych załączników sięga nawet 20 MB.Czy używanie poczty bazy danych jako serwera przekazywania poczty e-mail jest dobrym pomysłem?
Używanie poczty bazy danych do obsłużenia wszystkich naszych e-maili z aplikacjami jest dla mnie złe, ale trudno mi mówić o tym komukolwiek, biorąc pod uwagę bardzo niski koszt wdrożenia. Nasz produkcyjny serwer bazy danych jest o wiele za mocny, więc nie jestem pewny, czy to nie może obsłużyć obciążenia także przez. Jakieś pomysły czy bezpieczniejsze alternatywy?
Czy mógłbyś rozwinąć? Czy masz na myśli hostowanie serwera SMTP w naszej sieci LAN i używanie go? Czy filtrowanie spamu byłoby problemem? Wysyłamy to, co uważam za niewielką ilość wiadomości e-mail, ale często wysyłam duże załączniki, więc nie jestem pewien, czy równoważenie obciążenia byłoby warte kosztu. –