ส่งอีเมลธุรกรรมจากแอปของคุณ จัดการตัวตนผู้ส่งและติดตามการส่งได้ที่ Admin > Email ของแอป
ทุกแอปบน Proyecta สามารถส่งอีเมลธุรกรรมได้ เพียงยืนยันตัวตนผู้ส่ง แล้วส่งจากโค้ดแอปของคุณได้เลย — โดยไม่ต้องสมัครบัญชีกับผู้ให้บริการอีเมลแยกต่างหาก
ส่วน Email
หัวข้อที่มีชื่อว่า “ส่วน Email”เปิด Admin > Email ใน builder — หรือไปที่ /admin บนเว็บไซต์ที่เผยแพร่แล้ว ซึ่งประกอบด้วยสองส่วน:
| ส่วน | ใช้สำหรับ |
|---|---|
| Identities | เพิ่มและยืนยันอีเมลผู้ส่งหรือโดเมน |
| Sent | ดูอีเมลที่ส่งแล้วพร้อมสถานะการส่ง (sent, delivered, bounced ฯลฯ) |
คุณสามารถเพิ่มตัวตนผู้ส่งใหม่และดูประวัติการส่งอีเมลได้ทั้งหมด — โดยไม่ต้องเขียนโค้ด
การตั้งค่าสองขั้นตอน
หัวข้อที่มีชื่อว่า “การตั้งค่าสองขั้นตอน”- สร้างและยืนยันตัวตนผู้ส่ง (อีเมลหรือโดเมน) ในแผง admin ของคุณ
- ส่ง — จากแอปด้วย
useSendEmail()หรือจากแผง admin สำหรับแคมเปญ
ส่งจากที่อยู่ร่วม (@proyectamail.com)
หัวข้อที่มีชื่อว่า “ส่งจากที่อยู่ร่วม (@proyectamail.com)”วิธีที่ง่ายที่สุดคือขอใช้ที่อยู่เดียวบนโดเมนการส่งร่วมของ Proyecta ที่ @proyectamail.com โดยจะยืนยันทันทีที่คุณสร้าง — เพราะแพลตฟอร์มเป็นเจ้าของโดเมนนั้นอยู่แล้ว คุณจึงไม่ต้องตั้งค่า DNS record ใดๆ
ทำได้ในส่วน Emails ของแผง admin ของแอป: ระบุที่อยู่ที่ต้องการ แล้วพร้อมใช้งานทันที
ที่อยู่เดียวใช้งานได้เฉพาะกับ @proyectamail.com เท่านั้น หากขอใช้โดเมนอื่น (เช่น hello@myapp.com) จะถูกปฏิเสธ — หากต้องการส่งจากโดเมนของตัวเอง ให้ยืนยันทั้งโดเมนแทน (ดูด้านล่าง) ที่อยู่ร่วมแต่ละรายการถูกจองไว้ทั่วโลก ดังนั้นสองแอปจะไม่สามารถส่งในฐานะผู้ส่ง @proyectamail.com รายเดียวกันได้
ยืนยันโดเมนของคุณเอง (Pro)
หัวข้อที่มีชื่อว่า “ยืนยันโดเมนของคุณเอง (Pro)”หากต้องการส่งจากโดเมนของตัวเอง — จากที่อยู่ใดก็ได้ในโดเมนนั้น (hello@, support@, noreply@ ฯลฯ) — ให้ยืนยันทั้งโดเมน ต่างจากที่อยู่ร่วม @proyectamail.com ตรงที่โดเมนส่วนตัวจะ ไม่ ยืนยันทันที
เพิ่มโดเมนในส่วน Emails เดียวกัน ระบบจะลงทะเบียนกับผู้ให้บริการอีเมลและแสดง SPF, DKIM และ DMARC records ที่คุณต้องเผยแพร่ใน DNS ของคุณ ผู้ส่งจะอยู่ในสถานะ pending จนกว่า record เหล่านั้นจะ propagate และผู้ให้บริการยืนยัน จากนั้นจะเปลี่ยนเป็น verified — กดปุ่มตรวจสอบใหม่หลังจากเผยแพร่ record แล้ว
การยืนยันโดเมนผ่าน DNS ได้รับการรองรับอย่างสมบูรณ์ — record ถูกสร้างโดยผู้ให้บริการ และการตรวจสอบแต่ละครั้งจะ poll สถานะจากผู้ให้บริการใหม่
เบื้องหลัง: Proyecta ยืนยันโดเมนการส่งของคุณกับผู้ให้บริการตัวตนอีเมล (Resend) และส่งข้อความผ่านผู้ให้บริการธุรกรรม (SendGrid) โดยคุณไม่ต้องจัดการบัญชีกับผู้ให้บริการทั้งสองรายเลย
ส่งอีเมลจากแอปของคุณ
หัวข้อที่มีชื่อว่า “ส่งอีเมลจากแอปของคุณ”จากหน้าต่างๆ ในแอป คุณส่งด้วย hook useSendEmail() โดยเลือก template และส่ง variables ไป แพลตฟอร์มจะ render ข้อความในภาษาของแอปและส่งให้:
import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) { const { send, isPending, error } = useSendEmail();
return ( <button disabled={isPending} onClick={() => send({ template: 'booking_confirmation', variables: { date: booking.date, service: booking.service }, }) } > Email me the details </button> );}สังเกตว่าคุณ ไม่ ต้องส่ง: ผู้รับ, subject หรือ HTML เพราะแต่ละ template กำหนดกลุ่มผู้รับของตัวเองไว้แล้ว:
self(ยืนยันการจอง/คำสั่งซื้อ, ยินดีต้อนรับ) → ที่อยู่ของผู้ใช้ที่ลงชื่อเข้าใช้ ดึงมาจาก session ของพวกเขาowner(owner_alert) → ผู้ดูแลระบบของแอป
ทั้งสองรูปแบบต้องการ session ที่ลงชื่อเข้าใช้แล้ว ซึ่งเป็นเรื่องตั้งใจ ไม่ใช่ช่องโหว่: publishable key ที่ยืนยันตัวตนการเรียกนั้นถูกส่งมาในซอร์สของหน้า ดังนั้นหากส่งไปยังผู้รับใดก็ได้ จะทำให้ทุกคนสามารถใช้แอปของคุณเป็น spam relay ได้ หากต้องการแจ้งเตือนตัวเองจากผู้เยี่ยมชมที่ไม่ได้ลงชื่อเข้าใช้ ให้ใช้ฟอร์ม — การส่งฟอร์มจะส่งอีเมลถึงเจ้าของและยืนยันกับผู้ส่งโดยอัตโนมัติอยู่แล้ว และเส้นทางนั้นไม่สามารถปลอมแปลงจาก browser ได้
ข้อผิดพลาดจะมาในรูป PlatformApiError: 401 (ต้องมี session), 403 (template ไม่ได้เปิดใช้งานสำหรับแอปนี้), 429 (rate limited — แสดงข้อความและเสนอให้ลองใหม่), 422 (ไม่มีที่อยู่อีเมลในระบบ)
ติดตามการส่ง
หัวข้อที่มีชื่อว่า “ติดตามการส่ง”แท็บ Sent ในแผง admin ของคุณแสดงรายการทุกอีเมลที่แอปส่งออกไปพร้อมเหตุการณ์การส่งล่าสุด — delivered, opened, clicked, bounced, complained — โดยปกติแล้วคุณไม่จำเป็นต้องเขียนโค้ดสำหรับส่วนนี้เลย
แต่ละรายการมีสถานะ — sent, delivered, opened, clicked, bounced หรือ complained — และคุณสามารถเปิดดูข้อความใดก็ได้เพื่ออ่าน HTML และข้อความที่ส่งออกไปจริงๆ หากการส่งล้มเหลว นี่คือจุดแรกที่ควรตรวจสอบ
ให้ AI จัดการแทน
หัวข้อที่มีชื่อว่า “ให้ AI จัดการแทน”คุณไม่จำเป็นต้องเขียนเองทั้งหมด:
"Verify hello@myapp.com as a sending identity.""Email the customer a confirmation after they finish booking.""After a successful checkout, send the customer their receipt.""Show me the last 20 emails we've sent and whether they bounced."
ข้อควรระวัง
หัวข้อที่มีชื่อว่า “ข้อควรระวัง”- ที่อยู่
fromต้องเป็น identity ที่ยืนยันแล้ว การส่งด้วยที่อยู่ที่ยังไม่ยืนยันจะคืนค่าเป็น error - มีขีดจำกัดรายเดือน ตามแผนของ Proyecta ที่คุณใช้
เร็วๆ นี้
หัวข้อที่มีชื่อว่า “เร็วๆ นี้”- Template editor — ออกแบบ transactional template แบบ visual ใน builder
- Bulk/batch send endpoint สำหรับการส่งอีเมลจำนวนมาก