Phê duyệt, nhật ký và gửi
Gửi email qua SMTP
Kết nối Supabase Auth, WordPress hoặc ứng dụng dùng SMTP với Banger để email gửi từ tên miền riêng và xuất hiện trong Nhật ký.
Trong hướng dẫn này 8 phần
SMTP relay của Banger cho phép ứng dụng chỉ gửi qua SMTP, như Supabase Auth, Auth0, WordPress hoặc bộ gửi thư của framework, gửi qua Banger. Ứng dụng đăng nhập bằng khóa API Banger, mọi thư gửi từ tên miền riêng và xuất hiện trong Nhật ký.
Trước khi bắt đầu
Bạn cần hai thứ:
- Luồng Sản phẩm. Địa chỉ From phải trên tên miền hoặc tên miền phụ có luồng Sản phẩm sẵn sàng. Mở Tên miền › Thêm luồng, chọn Sản phẩm và thêm bản ghi DNS được liệt kê. Xem Thêm tên miền. Luồng Thư (hộp thư nhóm) hoặc Chiến dịch không thể gửi email ứng dụng, nên thư ứng dụng không ảnh hưởng uy tín hộp thư nhóm.
- Khóa API được gửi. Mở Khóa API › Tạo khóa API, đặt tên theo ứng dụng (ví dụ “Supabase Auth”), chỉ chọn
mail:sendrồi Tạo khóa. Sao chép ngay: khóa chỉ hiển thị một lần.
Bạn cũng có thể đến Khóa API từ Cài đặt › Nhà phát triển › Quản lý khóa API.
Cài đặt SMTP
Ô SMTP trên trang Khóa API hiển thị các cài đặt này, kèm nút sao chép host.
| Cài đặt | Giá trị |
|---|---|
| Host | submit.bangermail.com |
| Cổng | 465 (TLS) hoặc 587 (STARTTLS) |
| Cổng, nếu các cổng trên bị chặn | 2465 (TLS) hoặc 2587 (STARTTLS) |
| Tên người dùng | banger (giá trị bất kỳ đều được; khóa xác định không gian làm việc) |
| Mật khẩu | Khóa API của bạn |
| Mã hóa | TLS 1.2 trở lên. Chỉ cho đăng nhập sau khi TLS bắt đầu. |
| Xác thực | PLAIN hoặc LOGIN |
Nếu ứng dụng hỏi “SSL” hoặc “TLS”, dùng cổng 465. Nếu hỏi “STARTTLS”, dùng 587.
Kết nối Supabase Auth
- Trong Supabase, mở Authentication › Emails › SMTP Settings và bật SMTP tùy chỉnh.
- Email người gửi: địa chỉ trên luồng Sản phẩm, như
noreply@app.example.com. - Tên người gửi: tên sản phẩm. Banger giữ nguyên như đã viết.
- Host
submit.bangermail.com, Port465, Usernamebanger, Password là khóa API. - Lưu rồi gửi magic link cho chính bạn từ Authentication › Users.
Ứng dụng khác làm tương tự: dán cài đặt trên vào phần SMTP hoặc thư. Ví dụ mã trong tài liệu SMTP cho nhà phát triển.
Kiểm tra thành công
Mở Nhật ký. Mỗi thư ứng dụng gửi xuất hiện với nguồn SMTP và trạng thái giao. Banger cũng ghi mọi lần thử bị từ chối cùng cách sửa.
Ứng dụng nhận 250 2.0.0 Queued as … khi Banger chấp nhận thư.
Banger làm gì với từng thư
- Gửi đúng nội dung ứng dụng viết, với tên From, ký bằng khóa DKIM tên miền.
- Xóa
BccvàReturn-Path, thêmReply-Totrỏ đến địa chỉ From khi chưa có. - Bỏ qua người nhận bị chặn gửi và gửi cho người còn lại.
- Coi việc thử lại cùng thư là cùng lần gửi, nên timeout không gây gửi hai lần.
- Tính mỗi thư vào gói như mọi lần gửi khác.
Mỗi thư tối đa 10 MiB và tối đa 50 người nhận.
Khi thư bị từ chối
Mỗi lần từ chối nêu lý do và mã tham chiếu (ref …) khớp mục trong Nhật ký. Mã bắt đầu bằng 4 là tạm thời; ứng dụng có thể thử lại sau.
| Phản hồi | Việc cần làm |
|---|---|
535 5.7.8 | Mật khẩu không phải khóa API hoạt động. Kiểm tra khóa chưa bị thu hồi và có mail:send. |
421 4.7.0 | Ba lần đăng nhập lỗi trên một kết nối nên kết nối đóng. Sửa khóa trước khi thử lại. |
454 4.7.0 | Quá nhiều đăng nhập lỗi từ mạng của bạn. Sửa khóa rồi đợi tối đa một giờ. |
550 5.7.1 | Tên miền From chưa có luồng Sản phẩm sẵn sàng (phản hồi nêu phần thiếu), người nhận bị chặn gửi hoặc gửi đang tạm dừng. Xem Khả năng gửi đến và tạm dừng gửi. |
553 5.1.3 | Địa chỉ người nhận không hợp lệ. |
552 5.3.4 | Thư lớn hơn 10 MiB. |
554 5.6.0 | Thư sai định dạng, như hai header From hoặc một From có nhiều địa chỉ. |
451 4.7.0 | Hết hạn mức gửi hoặc giới hạn ngày. Hạn mức làm mới kỳ hoặc ngày sau, hoặc ngay khi nâng cấp. |
451 4.3.0 | Banger chưa thể nhận thư lúc này. Ứng dụng nên thử lại. |
Giữ khóa an toàn
- Cấp khóa riêng cho mỗi ứng dụng, chỉ có
mail:send. Nếu mật khẩu SMTP lộ, nó không thể đọc không gian làm việc. - Để đổi khóa, tạo khóa mới, cập nhật ứng dụng rồi Thu hồi khóa cũ. Ứng dụng còn dùng khóa cũ bị từ chối ở lần đăng nhập kế tiếp.
- Banger chỉ lưu hàm băm của khóa và ghi đăng nhập bị từ chối trong Nhật ký.
Thử với AI
Tạo khóa API chỉ được gửi thư, kiểm tra luồng Sản phẩm đã sẵn sàng và cho tôi cài đặt SMTP để dán vào Supabase.