Skąd wysyłać maile? WebApi, czy www

2

Hej, zastanawiam się, które miejsce będzie lepsze. Mam system, który składa się z:

  • WebAPI
  • Klienta na desktop
  • Klienta www
  • i jeszcze zaraz Android będzie

Wszystko na .NetCore.

I w tym momencie za większość jest odpowiedzialne WebAPI. Klienci to tak naprawdę coś w rodzaju "nakładki wizualnej" na WebAPI. A skoro konto użytkownika można utworzyć w wielu miejscach (www, desktop, android), to naturalnym wydała się obsługa maili w WebAPI - tzn. np. po utworzeniu konta, wyślij maila z linkiem aktywacyjnym.

Jednak teraz stanąłem przed problemem, który być może sam sobie tworzę. Jest www, na którym jest też formularz kontaktowy. On po prostu wysyła maila pod konkretny skonfigurowany adres. I teraz mam małą zagwozdkę:

  • obsłużyć mechanizm maili "drugi raz" w kliencie webowym?
  • a może wystawić końcówkę api do wysyłania maili i w jakiś sposób to zabezpieczyć?

Hmm, teraz w sumie wpadł mi do głowy inny pomysł. Przecież mógłbym serwis mailowy wystawić do wspólnego kodu i wtedy nie będzie żadnego problemu... W sumie racja. Dzięki za pomoc :)

4

Obsługa e-maila powinno robić API - po co to duplikować wszędzie. To użyj w formularzu kontaktowym api do wysyłania maila.

3

Siłą rzeczy wysyłanie maili będzie musiało angażować jakiś sekret (API key do serwisu mailowego, dane uwierzytelniające do klienta SMTP itp.) a takie rzeczy należy zawsze zabezpieczać chowając za jakimś API. W przeciwnym razie musiałbyś przechowywać te dane po stronie klienta, de facto wystawiając je publicznie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1