Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Sử dụng tiện ích mở rộng Email kích hoạt

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Tiện ích Email kích hoạt ( firestore-send-email ) cho phép bạn tự động gửi email dựa trên các tài liệu trong bộ sưu tập Cloud Firestore. Việc thêm tài liệu vào bộ sưu tập sẽ kích hoạt tiện ích mở rộng này để gửi email được tạo từ các trường của tài liệu. Các trường cấp cao nhất của tài liệu chỉ định người gửi và người nhận email, bao gồm tùy chọn to , ccbcc (mỗi UID hỗ trợ). Trường message của tài liệu chỉ định các thành phần email khác, như dòng chủ đề và nội dung email (có thể là văn bản gốc hoặc HTML).

Đây là một tài liệu ví dụ cơ bản viết sẽ kích hoạt tiện ích mở rộng này:

admin.firestore().collection('mail').add({
  to: 'someone@example.com',
  message: {
    subject: 'Hello from Firebase!',
    html: 'This is an <code>HTML</code> email body.',
  },
})

Bạn cũng có thể tùy chọn định cấu hình tiện ích mở rộng này để hiển thị email bằng các mẫu Tay lái .

Cài đặt trước khi cài đặt

Trước khi bạn cài đặt tiện ích mở rộng, hãy hoàn thành các bước sau:

  1. Thiết lập dịch vụ thư đi của bạn.

    Khi bạn cài đặt tiện ích mở rộng Email kích hoạt, bạn sẽ cần chỉ định chi tiết kết nối và xác thực của máy chủ SMTP mà tiện ích mở rộng này sử dụng để gửi email. Điều này thường được cung cấp bởi một dịch vụ gửi email như Sendgrid, Mailgun hoặc Email giao dịch Mailchimp, nhưng nó cũng có thể là một máy chủ do bạn tự điều hành.

  2. Tạo một bộ sưu tập tài liệu email.

    Tiện ích mở rộng Email kích hoạt lắng nghe các tài liệu mới trong bộ sưu tập Cloud Firestore mà bạn chỉ định. Khi tìm thấy một tài liệu mới, tiện ích mở rộng sẽ gửi email dựa trên các trường của tài liệu. Bạn có thể sử dụng bất kỳ bộ sưu tập Cloud Firestore nào cho mục đích này; các ví dụ trên trang này sử dụng bộ sưu tập có tên email .

  3. Thiết lập các quy tắc bảo mật cho bộ sưu tập tài liệu email của bạn.

    Tiện ích mở rộng này có thể được sử dụng để kích hoạt gửi email trực tiếp từ ứng dụng khách. Tuy nhiên, bạn nên kiểm soát cẩn thận quyền truy cập của khách hàng vào bộ sưu tập để tránh khả năng lạm dụng (bạn không muốn người dùng có thể gửi email tùy ý từ địa chỉ công ty của bạn!).

    Các quy tắc bảo mật sẽ khác nhau giữa các ứng dụng, nhưng bạn phải luôn đảm bảo rằng email chỉ được gửi đến người nhận dự định và nội dung dạng tự do được giữ ở mức tối thiểu. Các mẫu có thể trợ giúp ở đây—bạn có thể sử dụng các quy tắc bảo mật để xác minh rằng dữ liệu được điền vào mẫu phù hợp với mong đợi của bạn về những gì người dùng được phép kích hoạt.

  4. Tùy chọn: Thiết lập bộ sưu tập người dùng.

    Theo cách sử dụng cơ bản của tiện ích mở rộng này, bạn chỉ định người nhận email bằng cách chỉ định địa chỉ email của họ trong các trường to , ccbcc của tài liệu thư. Thay vào đó, nếu bạn có cơ sở dữ liệu người dùng trong Cloud Firestore, bạn có thể chỉ định người nhận bằng cách sử dụng UID của người dùng. Để điều này hoạt động, bộ sưu tập người dùng của bạn phải đáp ứng các tiêu chí sau:

    • Bộ sưu tập phải được khóa trên ID người dùng. Nghĩa là, ID tài liệu của từng tài liệu người dùng trong bộ sưu tập phải là UID xác thực Firebase của người dùng.
    • Mỗi tài liệu người dùng phải có một trường email chứa địa chỉ email của người dùng.
  5. Tùy chọn: Thiết lập bộ sưu tập mẫu.

    Bạn có thể hiển thị email bằng cách sử dụng các mẫu Tay lái . Để làm như vậy, bạn sẽ cần một bộ sưu tập Cloud Firestore để chứa các mẫu của mình.

    Xem Sử dụng các mẫu Tay lái với tiện ích Email kích hoạt để biết chi tiết.

Cài đặt tiện ích mở rộng

Để cài đặt tiện ích mở rộng, hãy làm theo các bước trên trang Cài đặt tiện ích mở rộng Firebase . Tóm lại, hãy thực hiện một trong các thao tác sau:

Khi cài đặt tiện ích mở rộng, bạn sẽ được nhắc chỉ định thông tin kết nối SMTP và bộ sưu tập Cloud Firestore mà bạn đã thiết lập trước đó.

Sử dụng tiện ích mở rộng

Sau khi cài đặt, tiện ích mở rộng này sẽ giám sát tất cả tài liệu ghi vào bộ sưu tập mà bạn đã định cấu hình. Email được gửi dựa trên nội dung của các trường của tài liệu. Các trường cấp cao nhất chỉ định người gửi và người nhận của email. Trường message chứa thông tin chi tiết về email sẽ gửi, bao gồm cả nội dung email.

Ví dụ: Gửi email

Để gửi một tin nhắn đơn giản, hãy thêm tài liệu vào bộ sưu tập tin nhắn của bạn với trường to và trường message với nội dung sau:

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.',
}

Trường người gửi và người nhận

Các trường cấp cao nhất của tài liệu cung cấp thông tin người gửi và người nhận email. Các lĩnh vực có sẵn là:

  • from: Địa chỉ email của người gửi. Nếu không được chỉ định trong tài liệu, hãy sử dụng tham số "Địa chỉ TỪ mặc định" được định cấu hình.
  • replyTo: Địa chỉ email trả lời. Nếu không được chỉ định trong tài liệu, hãy sử dụng tham số "Địa chỉ REPLY-TO mặc định" được định cấu hình.
  • to: Một địa chỉ email người nhận hoặc một mảng chứa nhiều địa chỉ email người nhận.
  • toUids: Một mảng chứa UID người nhận.
  • cc: Một địa chỉ email người nhận hoặc một mảng chứa nhiều địa chỉ email người nhận.
  • ccUids: Một mảng chứa UID người nhận CC.
  • bcc: Một địa chỉ email người nhận hoặc một mảng chứa nhiều địa chỉ email người nhận.
  • bccUids: Một mảng chứa UID người nhận BCC.
  • tiêu đề: Một đối tượng của các trường tiêu đề bổ sung (ví dụ: {"X-Custom-Header": "value", "X-Second-Custom-Header": "value"} ).

LƯU Ý: Các tùy chọn toUids , ccUidsbccUids gửi email dựa trên UID người dùng được nhập vào địa chỉ email trong tài liệu Cloud Firestore. Để sử dụng các tùy chọn người nhận này, bạn cần chỉ định bộ sưu tập Cloud Firestore cho thông số "Bộ sưu tập người dùng" của tiện ích mở rộng. Sau đó, tiện ích mở rộng có thể đọc trường email cho từng UID được chỉ định trong các trường toUids , ccUids và/hoặc bccUids .

trường tin nhắn

Trường message của tài liệu chứa thông tin gửi thô cho email. Thông thường, trường này chỉ nên được điền bằng mã đáng tin cậy chạy trong máy chủ của riêng bạn hoặc Chức năng đám mây (tham khảo phần "Quy tắc bảo mật và gửi email" bên dưới).

Các thuộc tính có sẵn cho trường message là:

  • messageId: Tiêu đề ID thư cho email, nếu có.
  • chủ đề: Chủ đề của email.
  • text: Nội dung văn bản gốc của email.
  • html: Nội dung HTML của email.
  • amp: Nội dung AMP4EMAIL của email.
  • tệp đính kèm: Một mảng chứa (các) tệp đính kèm; Các tùy chọn của Nodemailer được hỗ trợ: chuỗi utf-8, loại nội dung tùy chỉnh, URL, chuỗi được mã hóa, URI dữ liệu và nút MIME được tạo trước (lưu ý rằng email của bạn không có quyền truy cập vào hệ thống tệp của máy chủ đám mây).

sử dụng nâng cao

Tìm hiểu về cách sử dụng nâng cao hơn của tiện ích mở rộng này: