Gửi email bằng Resend (đơn giản nhất)
// File: send-email.ts
import { Resend } from 'resend'
const resend = new Resend(process.env.RESEND_API_KEY)
async function sendWelcomeEmail(user: User) {
await resend.emails.send({
from: 'DevArchive <hello@devarchive.io>',
to: user.email,
subject: `Chào mừng ${user.name} đến DevArchive!`,
html: `
<h1>Xin chào ${user.name}! 🎉</h1>
<p>Cảm ơn bạn đã đăng ký. Đây là 3 bước tiếp theo:</p>
<ol>
<li>Hoàn thành profile</li>
<li>Chọn khoá học đầu tiên</li>
<li>Bắt đầu bài 1</li>
</ol>
<a href="https://devarchive.io/dashboard"
style="background: #6366f1; color: white; padding: 12px 24px;
border-radius: 8px; text-decoration: none;">
Bắt đầu ngay →
</a>
`,
})
}
SPF, DKIM, DMARC: 3 bước chống spam
| Record | Làm gì | DNS record |
|---|---|---|
| SPF | Cho biết server nào được phép gửi email thay domain bạn | v=spf1 include:resend.com ~all |
| DKIM | Chữ ký số chứng minh email không bị sửa đổi | TXT record do Resend cung cấp |
| DMARC | Chính sách xử lý email thất bại SPF/DKIM | v=DMARC1; p=none; rua=mailto:… |
⚠ Thiếu SPF/DKIM = 90% vào spam
Gmail, Outlook kiểm tra SPF/DKIM trước khi quyết định inbox hay spam. Setup DNS records TRƯỚC khi gửi email đầu tiên. Một lần bị đánh dấu spam → domain reputation hỏng, rất khó phục hồi.
❓ SPF record làm nhiệm vụ gì?
- Tạo Resend account và verify domain
- Setup SPF + DKIM + DMARC DNS records
- Gửi welcome email, password reset
- Test email delivery bằng mail-tester.com