ข้ามไปยังเนื้อหา

Email

ส่งอีเมลธุรกรรมจากแอปของคุณ จัดการตัวตนผู้ส่งและติดตามการจัดส่งจาก Dashboard > Emails หรือ SDK

ทุกแอปบน Proyecta สามารถส่งอีเมลธุรกรรมได้ เพียงยืนยันตัวตนผู้ส่ง แล้วส่งจากโค้ดของแอปได้เลย — ไม่จำเป็นต้องมีบัญชีผู้ให้บริการอีเมลแยกต่างหาก

เปิด Dashboard > Emails ใน builder แท็บนี้มีสองแท็บย่อย:

แท็บใช้สำหรับ
Identitiesเพิ่มและยืนยันที่อยู่อีเมลหรือโดเมนของผู้ส่ง
Sentดูอีเมลที่ส่งแล้วพร้อมสถานะการจัดส่ง (sent, delivered, bounced ฯลฯ)

คุณสามารถเพิ่มตัวตนผู้ส่งใหม่และดูประวัติการจัดส่งอีเมลได้ทั้งหมด — โดยไม่ต้องเขียนโค้ดเลย

  1. สร้างและยืนยันตัวตนผู้ส่ง (ที่อยู่อีเมลหรือโดเมน)
  2. เรียก proyecta.email.send() โดยใส่ที่อยู่ที่ยืนยันแล้วในฟิลด์ from

วิธีที่ง่ายที่สุดคือยืนยันที่อยู่อีเมลเดียว

import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY });
const identity = await proyecta.email.identities.create({
type: 'email',
value: 'hello@myapp.com',
});
// identity.status === 'verified' immediately upon creation

หากต้องการเรียกการตรวจสอบยืนยันอีกครั้ง:

await proyecta.email.identities.verify({ identityId: identity.id });

สำหรับแอปที่ใช้งานจริง ให้ยืนยันทั้งโดเมน เพื่อให้ส่งจากที่อยู่ใดก็ได้ภายใต้โดเมนนั้น (hello@, support@, noreply@ ฯลฯ)

const identity = await proyecta.email.identities.create({
type: 'domain',
value: 'myapp.com',
});
// identity.status === 'verified' immediately upon creation

การยืนยันโดเมนผ่าน DNS (การสร้างและตรวจสอบ SPF/DKIM record) อยู่ในแผนงานแต่ยังไม่ได้รับการพัฒนา

เมื่อยืนยันตัวตนแล้ว ให้ส่งอีเมลด้วย:

await proyecta.email.send({
from: 'Acme <hello@myapp.com>',
to: 'customer@example.com',
subject: 'Your receipt from Acme',
html: '<p>Thanks for your order — here are the details.</p>',
text: 'Thanks for your order — here are the details.',
});

send จะคืนค่าเป็น object อีเมลที่ส่งแล้วทั้งหมด (รวมถึง id, last_event และฟิลด์ข้อความ) ซึ่งคุณสามารถใช้ค้นหาสถานะการจัดส่งภายหลังได้

ผู้รับ to, cc และ bcc รับได้ทั้งที่อยู่เดียวหรืออาร์เรย์

เนื้อหา ระบุ html, text หรือทั้งสองอย่าง เพื่อให้อีเมลเข้าถึงผู้รับได้ดีที่สุด ควรใส่เวอร์ชัน plain-text ด้วย

Reply-to, custom headers, metadata tags reply_to รองรับแล้ว (ใช้ที่อยู่แรก) Custom headers และ metadata tags ได้รับการยอมรับโดย API แต่ยังไม่ได้ถูกส่งต่อไปยัง delivery provider

แสดงรายการอีเมลที่ส่งแล้ว (แบบแบ่งหน้า) พร้อม delivery event ล่าสุด:

const { data: emails } = await proyecta.email.list({ limit: 20 });
for (const email of emails) {
console.log(email.subject, '', email.last_event);
// last_event: 'sent' | 'delivered' | 'opened' | 'clicked' | 'bounced' | 'complained'
}

ดึงข้อมูลอีเมลรายการเดียวพร้อม body ทั้ง HTML และ text:

const full = await proyecta.email.get('email_abc123');
console.log(full.html, full.text, full.last_event);

คุณไม่จำเป็นต้องเขียนโค้ดเองทั้งหมด:

  • "Verify hello@myapp.com as a sending identity."
  • "Send a welcome email with Proyecta Email whenever a new user signs up. Use a nice HTML template."
  • "After a successful checkout, send the customer a receipt using proyecta.email.send."
  • "Show me the last 20 emails we've sent and whether they bounced."
  • ที่อยู่ from ต้องเป็นตัวตนที่ยืนยันแล้วเท่านั้น การส่งด้วยที่อยู่ที่ยังไม่ได้ยืนยันจะได้รับข้อผิดพลาด
  • มีขีดจำกัดรายเดือน ขึ้นอยู่กับแผน Proyecta ที่คุณใช้
  • Template editor — ออกแบบ transactional template แบบ visual ใน builder
  • Bulk/batch send endpoint สำหรับการส่งอีเมลจำนวนมาก