Ich denke, ich vermisse hier etwas sehr Einfaches. Ich habe eine einfache, einseitige node.js-Anwendung, die mit nodemailer alle Formulardaten in meinen Posteingang sendet.
Meine index.js-Datei:
%Vor% Wenn ich dies auf meinem lokalen Rechner mit npm start
im Stammverzeichnis ausführe, läuft die App auf localhost
einwandfrei. Nodemailer funktioniert ordnungsgemäß; Wenn ich einreiche, werden meine Formulardaten per E-Mail an mich selbst gesendet und ich werde zu meiner Erfolgsseite weitergeleitet.
Wenn ich das jedoch auf Firebase ausstelle, scheint der Knotenmailer-Teil nicht zu funktionieren. Die Seite wird mit meinen statischen Dateien geladen, aber wenn ich versuche, etwas über das Formular zu übermitteln, wird die Seite einfach aktualisiert (wie wenn Sie eine Schaltfläche zum Senden mit HTML haben), anstatt mich auf meine Erfolgsseite umzuleiten und Daten per E-Mail zu senden / p>
Gibt es etwas, das ich in meinem Code ändern muss, damit es mit Firebase funktioniert?
Google benötigt ein kostenpflichtiges Konto, um "Outbound Networking" zu nutzen. Das kostenlose Tier erlaubt keine ausgehenden Anrufe. Dazu gehört das Senden von E-Mails an einen Remote-Mail-Server (z. B. das Senden einer E-Mail an ein Yahoo-, Gmail- oder Outlook-Konto).
Weitere Informationen finden Sie auf der Preisseite
Suchen Sie nach "Outbound Networking".
Wenn Sie die Google Mail-API nutzen möchten, sollten Sie weiterhin nodemailer
mit Firebase-Funktionen verwenden und erreichen, wonach Sie suchen und auf der kostenlosen Ebene bleiben. Ein vollständig funktionierendes Beispiel ist bereits in firebase-samples
verfügbar repository! Ich möchte hervorheben, was das verlinkte Tutorial erwähnt, nämlich dass Google Mail ein Kontingent für E-Mails sendet < Das sollten Sie beachten.
Ich habe versucht, das Problem in Ihrem Code herauszufinden, aber habe keine gefunden, ich habe auch Funktionalität, um E-Mails mit Bestätigungscode für die Authentifizierung / Überprüfung der E-Mail-ID zu senden. Dazu erstelle ich eine gmail-ID und gebe diese ID / Passwort für das Senden von E-Mails. Mails werden von dieser gmail-ID mit node.js gesendet, wenn der Benutzer sich als E-Mail-Adresse registriert, senden wir eine E-Mail mit dem Verifizierungscode. Mein Code ist wie unter:
%Vor%Hoffe das hilft !! :)
Tags und Links firebase node.js google-cloud-functions nodemailer