Rozszerzenie e-maili z regułą (firestore-send-email
) umożliwia automatyczne wysyłanie
e-maile na podstawie dokumentów w kolekcji Cloud Firestore. Dodawanie dokumentu do:
powoduje, że rozszerzenie wysyła e-maila utworzonego na podstawie
pola dokumentu. Pola najwyższego poziomu dokumentu określają nadawcę e-maila i
odbiorców, w tym opcje to
, cc
i bcc
(każdy z nich obsługujący identyfikatory UID).
pole message
dokumentu określa inne elementy e-maila, takie jak wiersz tematu
i treść e-maila (w postaci zwykłego tekstu lub HTML).
Oto podstawowy przykładowy zapis dokumentu, który może wyzwolić to rozszerzenie:
admin.firestore().collection('mail').add({
to: 'someone@example.com',
message: {
subject: 'Hello from Firebase!',
html: 'This is an <code>HTML</code> email body.',
},
})
Możesz też opcjonalnie skonfigurować to rozszerzenie tak, aby renderowało e-maile za pomocą Szablony Handlebars.
Konfiguracja wstępna
Zanim zainstalujesz rozszerzenie, wykonaj te czynności:
Skonfiguruj usługę poczty wychodzącej.
Podczas instalowania rozszerzenia E-mail aktywujący należy określić połączeń i uwierzytelniania serwera SMTP, których rozszerzenie których używa do wysyłania e-maili. Ta opcja jest zwykle świadczona przez usługę dostarczania poczty e-mail takich jak Sendgrid, Mailgun czy Mailchimp Transactional Email, ale może możesz też używać samodzielnie uruchamianego serwera.
Utwórz kolekcję dokumentów e-mail.
Rozszerzenie E-mail aktywujące nasłuchuje nowych dokumentów w Cloud Firestore przez wybrany zbiór. Po znalezieniu nowego dokumentu rozszerzenie wysyła e-maila na podstawie pól dokumentu. Możesz używać dowolnej usługi Cloud Firestore zbieranie danych w tym celu; przykłady na tej stronie używają zbioru o nazwie
email
.Skonfiguruj reguły zabezpieczeń zbierania dokumentów e-mail.
To rozszerzenie może być używane do uruchamiania dostarczania poczty e-mail bezpośrednio z klienta aplikacji. Należy jednak dokładnie kontrolować dostęp klienta do aby zapobiec ewentualnym nadużyciom (aby użytkownicy mogli dowolne wiadomości e-mail z adresu Twojej firmy).
Reguły zabezpieczeń różnią się w zależności od aplikacji, ale zawsze sprawdzaj, czy e-maile są wysyłane tylko do właściwych odbiorców. swobodne treści są ograniczone do minimum. Przydają się szablony: może za pomocą reguł zabezpieczeń sprawdzać, czy dane umieszczane w odpowiada Twoim oczekiwaniom dotyczącym tego, co użytkownik może robić .
Opcjonalnie: skonfiguruj kolekcję użytkowników.
W ramach podstawowego korzystania z tego rozszerzenia określasz adresatów e-maila podając ich adresy e-mail w polach
to
,cc
ibcc
w dokument wiadomości. Jeśli natomiast masz bazę danych użytkowników w W Cloud Firestore możesz określić odbiorców przy użyciu atrybutu Identyfikatory UID. Do tego celu tak, kolekcja użytkowników musi spełniać te kryteria:- Kolekcja musi być oparta na identyfikatorach użytkowników. Oznacza to, że identyfikator każdego dokumentu dokument użytkownika w kolekcji musi być identyfikatorem UID tego użytkownika do uwierzytelniania Firebase.
- Każdy dokument użytkownika musi zawierać pole
email
zawierające adres e-mail użytkownika adresu.
Opcjonalnie: skonfiguruj kolekcję szablonów.
Możesz renderować e-maile za pomocą szablonów paska sterowania. Aby to zrobić, potrzebujesz kolekcji w Cloud Firestore, która będzie zawierać szablonów.
Zapoznaj się z sekcją Używanie szablonów na pasku sterowania z rozszerzeniem e-mail do wywołania. .
Zainstaluj rozszerzenie
Aby zainstalować to rozszerzenie, wykonaj czynności opisane na Instalowanie rozszerzenia Firebase stronę. Wykonaj jedną z tych czynności:
Konsola Firebase: kliknij ten przycisk:
Interfejs wiersza poleceń: uruchom to polecenie:
firebase ext:install firebase/firestore-send-email --project=projectId-or-alias
Po zainstalowaniu rozszerzenia zostanie wyświetlony monit o określenie serwera SMTP. oraz informacje o połączeniu ze skonfigurowanymi wcześniej kolekcjami Cloud Firestore.
Używanie rozszerzenia
Po instalacji to rozszerzenie monitoruje wszystkie zapisy dokumentów w
skonfigurowanej kolekcji. Poczta e-mail jest dostarczana na podstawie zawartości
pola dokumentu. Pola najwyższego poziomu określają nadawcę i
odbiorców. Pole message
zawiera informacje o e-mailu do dostarczenia.
łącznie z treścią e-maila.
Przykład: Wyślij e-maila
Aby wysłać prostą wiadomość, dodaj dokument do swojej kolekcji wiadomości za pomocą to
i message
z taką zawartością:
to: ['someone@example.com'],
message: {
subject: 'Hello from Firebase!',
text: 'This is the plaintext section of the email body.',
html: 'This is the <code>HTML</code> section of the email body.',
}
Pola nadawcy i odbiorcy
Pola najwyższego poziomu dokumentu zawierają nadawcę i adresata e-maila i informacjami o nich. Dostępne pola:
- from: adres e-mail nadawcy. Jeśli nie określono tego w dokumencie, używany jest skonfigurowany „Domyślny adres FROM” .
- replyTo: zwrotny adres e-mail. Jeśli nie określono tego w dokumencie, używany jest skonfigurowany „Domyślny adres REPLY-TO” .
- to: pojedynczy adres e-mail odbiorcy lub tablica zawierająca wiele adresów e-mail odbiorców.
- toUids: tablica zawierająca identyfikatory UID odbiorców.
- DW: pojedynczy adres e-mail odbiorcy lub tablica zawierająca wiele adresów e-mail odbiorców.
- ccUids: tablica zawierająca identyfikatory UID odbiorców CC.
- UDW: pojedynczy adres e-mail odbiorcy lub tablica zawierająca wiele adresów e-mail odbiorców.
- bccUids: tablica zawierająca identyfikatory UID odbiorców UDW.
- headers: obiekt dodatkowych pól nagłówka (np.
{"X-Custom-Header": "value", "X-Second-Custom-Header": "value"}
).
UWAGA: opcje toUids
, ccUids
i bccUids
pozwalają dostarczać e-maile na podstawie
identyfikatory UID użytkowników przypisane do adresów e-mail w dokumencie Cloud Firestore. Aby użyć funkcji
tych opcji odbiorcy, musisz określić kolekcję Cloud Firestore
„kolekcję Użytkownicy” rozszerzenia; . Rozszerzenie może wtedy odczytać
email
dla każdego identyfikatora UID określonego w polach toUids
, ccUids
lub bccUids
.
Pole wiadomości
Pole message
dokumentu zawiera nieprzetworzone informacje o dostawie dla
e-mail. To pole powinno być zazwyczaj wypełniane tylko przez zaufany kod uruchomiony w
własnych serwerów lub funkcji w Cloud Functions (patrz sekcja „Reguły zabezpieczeń i wysyłanie
e-mail” poniżej).
Dostępne właściwości pola message
to:
- messageId:nagłówek identyfikatora e-maila, jeśli taki istnieje.
- subject: temat e-maila.
- text: zwykły tekst e-maila.
- html: treść HTML e-maila.
- amp: treść e-maila na AMP4EMAIL.
- attachments: tablica zawierająca załączniki; Obsługiwane opcje Nodemailer: ciąg znaków utf-8, niestandardowy typ treści, URL, zakodowany ciąg znaków, identyfikator URI danych i wstępnie wygenerowany węzeł MIME (pamiętaj, że Twoja poczta e-mail nie ma dostępu do systemu plików serwera w chmurze).
Do wymagających zadań
Więcej informacji o zaawansowanym korzystaniu z tego rozszerzenia:
- Używanie szablonów na pasku sterowania z rozszerzeniem E-mail powodujący regułę
- Zarządzanie stanem dostarczenia za pomocą rozszerzenia e-maila z regułą