Yuva Email Worker cho Cloudflare
Email hỗ trợ qua Cloudflare.Không có máy chủ thư nào để chạy.
Cloudflare® Email Routing nhận thư gửi đến các địa chỉ hỗ trợ của bạn, và Yuva Email Worker mã nguồn mở chuyển từng thư cho Yuva, kèm chữ ký. Thư đến hộp thư chung của bạn dưới dạng một cuộc trò chuyện mà nhóm bạn trả lời.
Đó là gì
Email Routing ở phía trước
Cloudflare Email Routing trở thành MX của tên miền bạn và nhận thư. Yuva không lắng nghe SMTP, nên không có máy chủ thư nào để cài đặt hay cập nhật.
Một Worker mã nguồn mở nhỏ gọn
Yuva Email Worker đọc thư thô và phong bì, ký yêu cầu và gửi cho Yuva. Việc phân tích, gom chuỗi và quyết định về thư rác vẫn nằm trên máy chủ.
Những cuộc trò chuyện thật
Thư gửi đến địa chỉ hỗ trợ mở hoặc tiếp nối một cuộc trò chuyện trong hộp thư, và nhóm trả lời từ cùng một bảng điều khiển với chat và tin nhắn trong ứng dụng.
Một thư đi từ khách hàng đến nhóm của bạn như thế nào
- 1Một khách hàng viết đến một trong các địa chỉ hỗ trợ của bạn, ví dụ support@example.com.
- 2Cloudflare Email Routing nhận thư và chuyển cho Yuva Email Worker.
- 3Worker ký thư thô, cả hai địa chỉ phong bì và một dấu thời gian bằng HMAC-SHA256 với khóa bí mật bạn chia sẻ với Yuva, rồi gửi chúng đến /ingress/email trên máy chủ Yuva của bạn.
- 4Yuva kiểm tra chữ ký và dấu thời gian nằm trong vòng 5 phút trước khi đọc thư. Yêu cầu có chữ ký sai bị từ chối.
- 5Yuva tìm kênh email theo địa chỉ người nhận và gom thư theo In-Reply-To và References vào cuộc trò chuyện mà nó thuộc về. Mọi trường hợp khác bắt đầu một cuộc trò chuyện mới. Một câu trả lời mở lại cuộc trò chuyện.
- 6Nhóm của bạn trả lời trong bảng điều khiển. Câu trả lời được gửi qua chính tài khoản SMTP của kênh email, như Amazon SES, Postmark hoặc relay của riêng bạn, từ cùng địa chỉ và trong cùng chuỗi. Câu trả lời không đi qua Worker.
Từ chối được báo đến người gửi
Khi Yuva từ chối một thư vĩnh viễn, ví dụ địa chỉ không xác định, người gửi bị chặn hoặc thư quá lớn, Worker từ chối nó và người gửi nhận lỗi SMTP vĩnh viễn kèm lý do của Yuva.
Nếu không truy cập được Yuva
Nếu Yuva trả lời bằng lỗi máy chủ, không phản hồi trong 20 giây hoặc không thể truy cập, Worker có thể chuyển tiếp thư đến một địa chỉ bạn chọn, miễn là bạn đặt FALLBACK_FORWARD. Địa chỉ đó phải là đích đã xác minh trong Email Routing. Khi đó thư đến dưới dạng thư chuyển tiếp thông thường và không xuất hiện trong Yuva. Không có FALLBACK_FORWARD, việc gửi thất bại kèm lỗi và máy chủ gửi có thể thử lại sau.
Thiết lập chỉ trong vài bước
Bạn cần một máy chủ Yuva và một tài khoản Cloudflare quản lý tên miền.
- 1
Trong Yuva, mở Cài đặt → hộp thư của bạn → Kênh → Email và thêm địa chỉ hỗ trợ. Đặt một khóa bí mật trên máy chủ và khởi động lại nó:
YUVA_INGRESS_SECRET=<openssl rand -hex 32> YUVA_INGRESS_AUTHSERV_ID=mx.cloudflare.net
- 2
Triển khai Worker vào tài khoản Cloudflare của bạn, với cùng một khóa bí mật:
cd edge bun install bunx wrangler login bunx wrangler secret put INGRESS_SECRET bunx wrangler deploy --var YUVA_URL:https://support.example.com
- 3
Trong bảng điều khiển Cloudflare, mở tên miền của bạn → Email → Email Routing và bật nó lên. Cloudflare thêm các bản ghi MX và SPF của nó.
- 4
Trong Routing rules, gửi mỗi địa chỉ hỗ trợ đến Worker yuva-edge. Với kênh bắt tất cả, hãy trỏ quy tắc bắt tất cả đến nó.
- 5
Gửi một tin nhắn thử và xem cuộc trò chuyện xuất hiện trong bảng điều khiển.
- 6
Tùy chọn: giữ thư trong lúc gián đoạn bằng cách thêm một địa chỉ dự phòng vào lệnh triển khai:
bunx wrangler deploy --var YUVA_URL:https://support.example.com --var FALLBACK_FORWARD:you@example.org
Email Routing trở thành MX của tên miền, vì vậy hãy dùng tên miền hoặc tên miền phụ mà không máy chủ thư nào khác xử lý.
Đọc hướng dẫn thiết lập →Không gắn chặt với Cloudflare
Worker là một cách để gọi /ingress/email. Bất kỳ máy chủ thư hay relay nào cũng có thể gửi thư thô với cùng các tiêu đề có chữ ký, và một máy chủ thư giao cho một lệnh có thể chuyển thư qua pipe vào yuva ingest-email. Định dạng yêu cầu được mô tả trong README của Worker.
Hỏi và đáp
Tôi có cần chạy máy chủ thư không?
Không dành cho thư đến. Yuva không lắng nghe SMTP; Cloudflare Email Routing nhận thư và Worker chuyển tiếp. Việc trả lời cần một tài khoản SMTP cho kênh email, như Amazon SES, Postmark hoặc relay của riêng bạn.
Điều gì xảy ra khi Yuva ngừng hoạt động?
Khi đã đặt FALLBACK_FORWARD, thư được chuyển tiếp đến địa chỉ đó. Nếu không, việc gửi thất bại và máy chủ gửi có thể thử lại. Những thư Yuva cố ý từ chối, như thư đến một địa chỉ không xác định, bị từ chối chứ không được chuyển tiếp.
Tôi có thể dùng những tên miền và địa chỉ nào?
Bất kỳ tên miền nào bạn quản lý trong Cloudflare mà không máy chủ nào khác xử lý thư, vì Email Routing trở thành MX của nó. Mỗi kênh email có một địa chỉ, hoặc địa chỉ bắt tất cả *@example.com cho mọi địa chỉ của tên miền mà không kênh nào có chính xác. Một địa chỉ phụ như support+billing@example.com sẽ đến kênh của support@example.com.
Một thư có thể lớn đến mức nào?
Một thư có thể nặng tới 25 MiB kể cả tệp đính kèm, đó là giới hạn của Cloudflare Email Routing. Yuva giữ tối đa 50 tệp đính kèm mỗi thư, mỗi tệp nằm trong giới hạn dung lượng tệp đính kèm của máy chủ (mặc định 25 MiB) và thuộc các loại được phép; phần còn lại bị bỏ qua.
Có ai giả mạo được thư gửi đến máy chủ Yuva của tôi không?
Yuva từ chối mọi yêu cầu không có chữ ký HMAC hợp lệ hoặc có dấu thời gian lệch hơn 5 phút, trước khi đọc nội dung. Hãy giữ bí mật cho riêng bạn.
Yuva có dùng kết quả DMARC từ Cloudflare không?
Có, khi bạn đặt YUVA_INGRESS_AUTHSERV_ID thành mx.cloudflare.net. Khi đó Yuva đọc kết luận DMARC mà Email Routing thêm vào. Một cuộc trò chuyện mới không qua được DMARC sẽ bị đánh dấu là thư rác.
Cloudflare, logo Cloudflare và Cloudflare Workers là nhãn hiệu và/hoặc nhãn hiệu đã đăng ký của Cloudflare, Inc. tại Hoa Kỳ và các khu vực pháp lý khác. Yuva là dự án mã nguồn mở độc lập, không liên kết với hay được Cloudflare chứng thực.