Yuva Email Worker สำหรับ Cloudflare
อีเมลสนับสนุนผ่าน Cloudflareไม่ต้องรันเซิร์ฟเวอร์อีเมล
Cloudflare® Email Routing รับอีเมลของที่อยู่ฝ่ายสนับสนุนของคุณ และ Yuva Email Worker แบบโอเพนซอร์สจะส่งแต่ละข้อความให้ Yuva พร้อมลายเซ็น ข้อความจะมาถึงกล่องข้อความร่วมของคุณในรูปของการสนทนาที่ทีมคุณตอบ
คืออะไร
Email Routing ด้านหน้า
Cloudflare Email Routing กลายเป็น MX ของโดเมนคุณและรับอีเมล Yuva ไม่ฟัง SMTP จึงไม่มีเซิร์ฟเวอร์อีเมลให้ติดตั้งหรืออัปเดต
Worker ขนาดเล็กแบบโอเพนซอร์ส
Yuva Email Worker อ่านข้อความดิบและซอง ลงลายเซ็นคำขอ แล้วส่งให้ Yuva การแยกวิเคราะห์ การจัดเธรด และการตัดสินสแปมยังคงอยู่บนเซิร์ฟเวอร์
การสนทนาจริง
อีเมลที่ส่งถึงที่อยู่ฝ่ายสนับสนุนจะเปิดหรือต่อการสนทนาในกล่องข้อความ และทีมตอบจากแผงเดียวกับแชตและข้อความในแอป
ข้อความเดินทางจากลูกค้าถึงทีมของคุณอย่างไร
- 1ลูกค้าเขียนมาที่อีเมลฝ่ายสนับสนุนของคุณอีเมลใดอีเมลหนึ่ง เช่น support@example.com
- 2Cloudflare Email Routing รับข้อความแล้วส่งต่อให้ Yuva Email Worker
- 3Worker ลงลายเซ็นข้อความดิบ ที่อยู่ซองทั้งสอง และตราเวลาด้วย HMAC-SHA256 ภายใต้ความลับที่คุณใช้ร่วมกับ Yuva แล้วส่งไปยัง /ingress/email บนเซิร์ฟเวอร์ Yuva ของคุณ
- 4Yuva ตรวจลายเซ็นและตรวจว่าตราเวลาอยู่ภายใน 5 นาทีก่อนอ่านข้อความ คำขอที่ลายเซ็นผิดจะถูกปฏิเสธ
- 5Yuva หาช่องทางอีเมลของที่อยู่ผู้รับ และจัดข้อความเข้าเธรดด้วย In-Reply-To และ References ลงในการสนทนาที่มันเป็นส่วนหนึ่ง กรณีอื่นจะเริ่มการสนทนาใหม่ การตอบกลับจะเปิดการสนทนาอีกครั้ง
- 6ทีมของคุณตอบในแผงควบคุม คำตอบส่งผ่านบัญชี SMTP ของช่องทางอีเมลเอง เช่น Amazon SES, Postmark หรือรีเลย์ของคุณ จากที่อยู่เดียวกันและในเธรดเดียวกัน คำตอบไม่ผ่าน Worker
การปฏิเสธไปถึงผู้ส่ง
เมื่อ Yuva ปฏิเสธข้อความอย่างถาวร เช่น ที่อยู่ที่ไม่รู้จัก ผู้ส่งที่ถูกบล็อก หรือข้อความที่ใหญ่เกินไป Worker จะปฏิเสธข้อความนั้น และผู้ส่งจะได้รับข้อผิดพลาด SMTP ถาวรพร้อมเหตุผลจาก Yuva
หากติดต่อ Yuva ไม่ได้
หาก Yuva ตอบกลับด้วยข้อผิดพลาดของเซิร์ฟเวอร์ ไม่ตอบภายใน 20 วินาที หรือติดต่อไม่ได้ Worker สามารถส่งต่อข้อความไปยังที่อยู่ที่คุณเลือกได้ หากคุณตั้งค่า FALLBACK_FORWARD ที่อยู่นั้นต้องเป็นปลายทางที่ยืนยันแล้วใน Email Routing ข้อความจะมาถึงเป็นอีเมลส่งต่อธรรมดาและไม่ปรากฏใน Yuva หากไม่มี FALLBACK_FORWARD การส่งจะล้มเหลวพร้อมข้อผิดพลาด และเซิร์ฟเวอร์ผู้ส่งอาจลองใหม่ภายหลัง
ตั้งค่าได้ในไม่กี่ขั้นตอน
คุณต้องมีเซิร์ฟเวอร์ Yuva และบัญชี Cloudflare ที่จัดการโดเมน
- 1
ใน Yuva ให้เปิด การตั้งค่า → กล่องข้อความของคุณ → ช่องทาง → อีเมล แล้วเพิ่มที่อยู่ฝ่ายสนับสนุน ตั้งค่าความลับบนเซิร์ฟเวอร์แล้วรีสตาร์ท:
YUVA_INGRESS_SECRET=<openssl rand -hex 32> YUVA_INGRESS_AUTHSERV_ID=mx.cloudflare.net
- 2
ติดตั้ง Worker ลงในบัญชี Cloudflare ของคุณโดยใช้ความลับเดียวกัน:
cd edge bun install bunx wrangler login bunx wrangler secret put INGRESS_SECRET bunx wrangler deploy --var YUVA_URL:https://support.example.com
- 3
ในแดชบอร์ด Cloudflare ให้เปิดโดเมนของคุณ → Email → Email Routing แล้วเปิดใช้งาน Cloudflare จะเพิ่มเรคคอร์ด MX และ SPF ของตัวเอง
- 4
ใน Routing rules ให้ส่งทุกที่อยู่ฝ่ายสนับสนุนไปที่ Worker ชื่อ yuva-edge สำหรับช่องทางรับทั้งหมด ให้ชี้กฎรับทั้งหมดมาที่มัน
- 5
ส่งข้อความทดสอบแล้วดูการสนทนาปรากฏในแผงควบคุม
- 6
ไม่บังคับ: เก็บอีเมลไว้ระหว่างระบบขัดข้องโดยเพิ่มที่อยู่สำรองในคำสั่งติดตั้ง:
bunx wrangler deploy --var YUVA_URL:https://support.example.com --var FALLBACK_FORWARD:you@example.org
Email Routing กลายเป็น MX ของโดเมน จึงควรใช้โดเมนหรือโดเมนย่อยที่ไม่มีเซิร์ฟเวอร์อีเมลอื่นจัดการ
อ่านคู่มือการตั้งค่า →ไม่ผูกติดกับ Cloudflare
Worker เป็นวิธีหนึ่งในการเรียก /ingress/email เซิร์ฟเวอร์อีเมลหรือรีเลย์ใดก็ได้สามารถส่งข้อความดิบพร้อมเฮดเดอร์ที่มีลายเซ็นแบบเดียวกัน และเซิร์ฟเวอร์อีเมลที่ส่งมอบให้คำสั่งสามารถส่งข้อความผ่านไปป์ไปยัง yuva ingest-email ได้ รูปแบบคำขออยู่ใน README ของ Worker
ถาม-ตอบ
ฉันต้องรันเซิร์ฟเวอร์อีเมลไหม
ไม่ใช่สำหรับอีเมลขาเข้า Yuva ไม่ฟัง SMTP Cloudflare Email Routing เป็นผู้รับอีเมลและ Worker ส่งต่อให้ การตอบกลับต้องมีบัญชี SMTP สำหรับช่องทางอีเมล เช่น Amazon SES, Postmark หรือรีเลย์ของคุณเอง
จะเกิดอะไรขึ้นเมื่อ Yuva ล่ม
เมื่อตั้งค่า FALLBACK_FORWARD ข้อความจะถูกส่งต่อไปยังที่อยู่นั้นแทน หากไม่มี การส่งจะล้มเหลวและเซิร์ฟเวอร์ผู้ส่งอาจลองใหม่ ข้อความที่ Yuva ปฏิเสธโดยตั้งใจ เช่น อีเมลถึงที่อยู่ที่ไม่รู้จัก จะถูกปฏิเสธ ไม่ถูกส่งต่อ
ฉันใช้โดเมนและที่อยู่แบบไหนได้บ้าง
โดเมนใดก็ได้ที่คุณจัดการใน Cloudflare และไม่มีเซิร์ฟเวอร์อื่นรับจัดการอีเมล เพราะ Email Routing จะกลายเป็น MX ของโดเมนนั้น แต่ละช่องทางอีเมลมีที่อยู่หนึ่งที่อยู่ หรือที่อยู่รับทั้งหมด *@example.com สำหรับทุกที่อยู่ของโดเมนที่ไม่มีช่องทางใดตรงกันพอดี ที่อยู่ย่อยอย่าง support+billing@example.com จะไปถึงช่องทางของ support@example.com
ข้อความใหญ่ได้เท่าไร
ข้อความหนึ่งมีขนาดได้สูงสุด 25 MiB รวมไฟล์แนบ ซึ่งเป็นขีดจำกัดของ Cloudflare Email Routing Yuva เก็บไฟล์แนบได้สูงสุด 50 ไฟล์ต่อข้อความ โดยแต่ละไฟล์ต้องอยู่ในขีดจำกัดขนาดไฟล์แนบของเซิร์ฟเวอร์ (ค่าเริ่มต้น 25 MiB) และเป็นประเภทที่อนุญาต ส่วนที่เหลือจะถูกข้ามไป
มีใครปลอมอีเมลส่งมายังเซิร์ฟเวอร์ Yuva ของฉันได้ไหม
Yuva ปฏิเสธทุกคำขอที่ไม่มีลายเซ็น HMAC ที่ถูกต้องหรือมีตราเวลาคลาดเคลื่อนเกิน 5 นาทีก่อนอ่านเนื้อหา เก็บความลับไว้กับตัวคุณเอง
Yuva ใช้ผล DMARC จาก Cloudflare หรือไม่
ได้ เมื่อคุณตั้ง YUVA_INGRESS_AUTHSERV_ID เป็น mx.cloudflare.net Yuva จะอ่านผลตัดสิน DMARC ที่ Email Routing เพิ่มให้ การสนทนาใหม่ที่ไม่ผ่าน DMARC จะถูกทำเครื่องหมายเป็นสแปม
Cloudflare โลโก้ Cloudflare และ Cloudflare Workers เป็นเครื่องหมายการค้าและ/หรือเครื่องหมายการค้าจดทะเบียนของ Cloudflare, Inc. ในสหรัฐอเมริกาและเขตอำนาจอื่น Yuva เป็นโปรเจกต์โอเพนซอร์สอิสระ ไม่ได้เกี่ยวข้องหรือได้รับการรับรองจาก Cloudflare