Hướng Dẫn Cấu Hình Gửi Email Với AWS SES Bằng Domain và Email (Từ Sandbox Đến Production) Chuyên mục Devops 2025-05-13 2 Lượt xem 2 Lượt thích 0 Bình luận
Gửi email hệ thống từ địa chỉ như no-reply@mydomain.com là một bước thiết yếu trong các ứng dụng web, đặc biệt với các chức năng như đăng ký, đặt lại mật khẩu, thông báo,... Bài viết này sẽ hướng dẫn bạn cấu hình AWS SES để gửi email từ domain tùy chỉnh, bắt đầu từ môi trường sandbox, và mở rộng lên production.
✳️ Mục lục
1. Giới thiệu về AWS SES và môi trường sandbox
Amazon SES (Simple Email Service) là dịch vụ gửi email mạnh mẽ, tiết kiệm chi phí và có khả năng mở rộng cao. Mặc định, khi bạn mới tạo SES, tài khoản của bạn nằm trong chế độ sandbox, tức là:
-
Chỉ gửi được email tới các địa chỉ đã xác minh.
-
Hạn chế về số lượng và tần suất gửi mail.
Bạn cần cấu hình để:
-
Xác minh domain/email gửi.
-
Thiết lập DKIM/SPF để tránh spam.
-
Và khi sẵn sàng, request chuyển lên production.
2. Cách 1: Xác minh Domain (nên dùng)
Xác minh domain giúp bạn gửi email từ bất kỳ địa chỉ nào có đuôi @yourdomain.com (ví dụ: no-reply@, admin@, support@,...).
🔧 Các bước thực hiện:
-
Vào SES Console → Verified Identities → Create Identity.
-
Chọn:
-
Identity Type: Domain
-
Domain: nhập yourdomain.com
-
Bật ✅ Easy DKIM
-
Chọn RSA_2048_BIT để bảo mật cao
-
-
Click Create Identity
3. Thiết lập Easy DKIM – chống spam hiệu quả
Sau khi tạo identity, SES sẽ cung cấp:
-
✅ 1 bản ghi TXT – để xác minh domain
-
✅ 3 bản ghi CNAME – để bật DKIM (giúp email không vào spam)
📌 Cần thêm các bản ghi này vào DNS:
Nếu dùng:
-
Route53: SES có thể tự thêm giúp bạn nếu bật “Publish to Route53”.
-
Cloudflare: bạn cần copy thủ công các bản ghi vào phần DNS.
Chờ khoảng 5–15 phút → quay lại SES để thấy trạng thái Verified.
4. Cách 2: Xác minh Email (nếu không dùng domain)
Nếu bạn chưa có domain hoặc chỉ muốn gửi từ một địa chỉ cụ thể (ví dụ no-reply@gmail.com), có thể:
-
Vào Verified Identities → Create Identity
-
Chọn:
-
Identity type: Email address
-
Email: youraddress@example.com
-
-
Amazon sẽ gửi email xác minh tới địa chỉ đó.
-
Click link trong email để xác minh.
📌 Hạn chế: Chỉ gửi được từ email đó, không mở rộng được cho nhiều địa chỉ.
5. Cấu hình DNS (nếu dùng domain)
Với bản ghi SES cung cấp, bạn thêm vào DNS như sau:
Type | Name | Value |
---|---|---|
TXT | _amazonses.yourdomain.com | random-string |
CNAME | xxxx._domainkey.yourdomain.com | xxxx.dkim.amazonses.com |
... | ... | ... |
⚠️ Lưu ý:
-
Không thay đổi gì trong Name hoặc Value
-
Đảm bảo không thêm dấu ngoặc kép trong Value nếu DNS không yêu cầu
6. Gửi thử email trong môi trường sandbox
Bạn chỉ có thể gửi email đến các địa chỉ đã xác minh.
Ví dụ gửi từ Lambda:
const AWS = require('aws-sdk');
const ses = new AWS.SES({ region: 'us-east-1' });
const params = {
Source: 'no-reply@yourdomain.com',
Destination: { ToAddresses: ['verified-recipient@example.com'] },
Message: {
Subject: { Data: 'Test Email from SES' },
Body: {
Text: { Data: 'Hello from SES sandbox!' }
}
}
};
ses.sendEmail(params).promise()
.then(data => console.log("Email sent:", data))
.catch(err => console.error("Error:", err));
📌 Bạn cần xác minh người nhận (verified-recipient@example.com) nếu SES chưa lên production.
7. Nâng cấp từ Sandbox lên Production
Khi mọi thứ ổn định, bạn cần request lên production để:
-
Gửi email tới bất kỳ ai (không cần verify người nhận)
-
Tăng quota gửi email
📝 Các bước:
-
Chọn region SES đang dùng (ví dụ us-east-1)
-
Điền form:
-
Mục đích sử dụng email (Transactional, Marketing,...)
-
Cách bạn tránh spam/phishing (SPF, DKIM, nội dung tốt)
-
Volume dự kiến gửi hàng ngày
-
-
Submit → chờ 24–48h để Amazon duyệt
✅ Sau khi duyệt, bạn có thể gửi tới bất kỳ email nào!
8. Kết luận & Lời khuyên
-
Hãy bắt đầu bằng xác minh domain + Easy DKIM để chuyên nghiệp và mở rộng linh hoạt.
-
Kiểm tra cấu hình SPF, DKIM và DMARC để tránh email bị đánh dấu spam.
-
Khi gửi trong sandbox, chỉ gửi đến email đã xác minh.
-
Khi production-ready, hãy request SES nâng cấp lên chế độ production sớm để tránh giới hạn.
Hy vọng bài viết giúp bạn nắm rõ toàn bộ quy trình cấu hình AWS SES để gửi email chuyên nghiệp! Nếu bạn có câu hỏi hoặc cần mình hỗ trợ cấu hình SES cụ thể, đừng ngần ngại để lại bình luận. 🚀
Bình luận (0)