Frage von Berny96, 15

An die modernen Webentwickler: Kann ich sicher und client-seitig eine Email an eine beliebige andere schicken?

So, da die Frage eher unverständlich ist erkläre ich Sie jetzt noch einmal genauer. Folgende Situation:

Wir verwenden für eine "social network" Seite Firebase als backend was uns bisher ermöglicht hat von der Registration bis hin zur Timeline absolut kein Server zu benötigen. Firebase reguliert absolut sicher die Anmeldung mit Session und alles drum und dran. Jetzt aber, bin ich dabei eine Art Email Registrierungsanfrage einzurichten damit Neue Nutzer sich per Email an den Administrator wenden können um eine "Freischaltung" zu bekommen. (Wir legen viel wert darauf dass es eine "geschlossene" community bleibt.) Jetzt zum Problem: Wie schaffe ich es vom Client aus eine Email an eine beliebige Addresse zu schicken ohne dass derjenige sein Emailprogramm verwenden muss? Ich möchte das der User in eine Texteingabe lediglich eine kleine Nachricht mit seinem Namen und seine Email engibt und um diese Nachricht auf Knopfdruck an mir zu schicken (admin emailaddresse). Was ich bisher gefunden hatte war z.B. Mailgun als Emailservice, jedoch benötigt man um da eine Email zu schicken die API Key in Klartext und diesen will ich auf keinen Fall dem Client übergeben. Ich stehe gerade ein wenig auf dem Schlauch und würde nur ungern extra nur für die Email versendung einen Server anlegen der diese verwaltet. Hat jemand zufällig einen Lösungsansatz ? Vielen vielen Dank für eure Zeit und Hilfe!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von RakonDark, 10

clients verschicken keine emails ,

emails werden vom smtp zum smtp verschickt .

client -> server -> server -> client 

ausserdem ist mir noch nicht klar wer bei dir ein client ist .

den auch curl läuft ja auf dem server .

client -> server -> client
läuft nur wenn man einen account auf den selben server hat .
 dann ginge es aber auch einfach dem server selber intern eine email verschicken zu lassen .

also etwas genauer erklären wie bei dir die Topologie aussieht .

Und auch welche Sprache da genutzt wird .

Kommentar von Berny96 ,

Bisher gibt es bei uns keinen Server. Client hat direkt lesenden Zugriff auf die Datenbank also Client -> Datenbank. Ich suche nach einer Möglichkeit den Client in eine Art SMTP client zu verwandeln um von dort aus die Email zu verschicken. Javascript hat bisher gereicht.

Kommentar von RakonDark ,

da haben wir das problem , um eine email an einen server zu schicken , braucht es einen server der mit einer reverseip eingetragen ist . das problem ist das emails grundsätzlich erstmal ohne authentification empfangen werden , damit das ganze nciht in undendlichem spam ausartet muss dieser server als mx eingetragen werden . somit kann kein client ein mx sein und auch nicht jeder server (z.b. homeserver) sondern nur die die eingetragen sind . ich glaub auch da gibt es dienste, aber die werden meist eh schon als spam interpretiert .

wer schonmal probleme mit freenet servern hatte weiss was gemeint ist , spammt der zuviel dann wird die ip einfach gebannt .

somit ist es ausgeschlossen das ein client eine email ohne einen server verschickt , auch wenn es pop before smtp nutzt heisst es doch das sich der client an einem server anmelden muss (abfrage des kontos mit user und pass) um dann eine email senden zu können , also dem server die email gibt damit dieser diese sendet .

egal wo nun dein server ist , der client gibt lediglich dem server die email und dieser sendet .

würde es nicht so laufen , wäre jedes händy ein potentzieller feind im email system .


Kommentar von regex9 ,

Der Client hat direkten Zugriff auf die Datenbank? Heißt das, jeder beliebige Client könnte sich sämtliche Nutzerdaten via Browserkonsole ausgeben lassen?

Kommentar von RakonDark ,

da sein dienst ein google dienst ist , wohl nur diejenigen die eine google email haben die als zugriffsberechtigt bei dem dienst eingetragen sind .

Antwort
von getname, 7

Warum muss es denn unbedingt eine E-Mail sein? Ihr könnt doch einfach ein Formular anbieten das Einträge in einer bestimmten Tabelle/Collection eurer Datenbank erzeugt. Im Dashboard könnt ihr die Liste rendern und eure Admins könne Nutzer dann entweder freischalten oder eben nicht.

Keine passende Antwort gefunden?

Fragen Sie die Community