Như đã biết, AWS SES cung cấp một giải pháp tuyệt vời để gửi hàng ngàn emails cùng lúc với ứng dụng serverless trên AWS. Kết hợp với AWS SDK và các hàm Lambda, nó cho phép bạn gửi hàng loạt email đến người dùng một cách linh hoạt mà không cần thiết lập mail server. Tuy nhiên, nếu không làm chủ tốt việc gửi mail bạn sẽ dễ mắc phải những sai sót dẫn để việc bị chặn dịch vụ gửi email SES. Hãy để tôi giới thiệu cho bạn dịch vụ gửi mail thông qua SES mà tôi đã xây dựng.
Giới thiệu AWS SES
AWS SES (Simple Email Service) là dịch vụ gửi email đáng tin cậy và giá cả phải chăng của AWS.
Những đặc điểm chính của SES bao gồm:
- Cho phép gửi và nhận email sử dụng các API của AWS. Có thể dễ dàng tích hợp với các ứng dụng và serivce của AWS.
- Được tối ưu hóa để cung cấp khả năng gửi email hàng loạt với tốc độ cao. Hỗ trợ gửi hàng triệu email mỗi ngày.
- Có các tính năng bảo mật email như xác thực DKIM, SPF, DMARC giúp ngăn chặn spam và phishing.
- Cung cấp các công cụ và bảng điều khiển để theo dõi các hoạt động gửi nhận email, cũng như tình trạng giao phó của email.
- Giá cả phải chăng, chỉ tính phí dựa trên số lượng email được gửi đi thực tế.
Như vậy, với hệ thống email đáng tin cậy, khả năng mở rộng cao nhưng chi phí thấp, SES là lựa chọn lý tưởng để gửi nhận email cho doanh nghiệp.
Hướng dẫn gửi mail hàng loạt với AWS SES
Sau đây tôi sẽ hướng dẫn cho bạn tạo một dịch vụ gửi mail thông qua SES từng bước nhé.
Để đảm bảo email bạn gửi đi không bị AWS SES chặn hoặc nằm trong hòm thư rác của người dùng bạn phải:
1. Gửi Yêu cầu AWS Support Center:
Đầu tiên, bạn cần kích hoạt SES và mở rộng giới hạn gửi mail lên mức cần thiết. Điều này thực hiện qua AWS Support Center.
Vào AWS Console > SES > Get setup > làm theo hướng dẫn của SES
Chọn production request access > soạn nội dung cần sử dụng gửi cho SES Supporter. Trong vòng 24h bạn sẽ nhận được mail phản hồi.
Mặc định mỗi ngày bạn sẽ gửi được 50.000 emails và 14 emails / giây, nếu muốn gửi số lượng lớn hơn bạn có thể gửi yêu cầu tiếp.
2. Kiểm soát tỷ lệ bounce:
Bounce rate xảy ra khi hộp thư người nhận đầy hoặc địa chỉ người nhận không tồn tại.
Nếu tỷ lệ bounce lớn hơn 5% thì bạn bắt buộc phải review lại.
Nếu tỷ lệ bounce lớn hơn 10% bạn sẽ bị SES chặn và cấm gửi email cho đến khi bạn gửi yêu cầu giải trình đến AWS.
3. Kiểm soát tỷ lệ complaints:
Complaints: sự kiện xảy ra khi người nhận báo cáo email của bạn là thư rác.
Nếu tỷ lệ complaints lớn hơn 0.1% thì bạn bắt buộc phải review lại.
Nếu tỷ lệ complaints lớn hơn 0.5% bạn sẽ bị SES chặn và cấm gửi email cho đến khi bạn gửi yêu cầu giải trình đến AWS.
Hệ thống gửi mail với API Gateway
Kiến trúc gửi mail aws serverless
Hệ thống gửi mail sẽ bắt đầu từ API Gateway, chúng ta sẽ gửi dữ liệu payload tới API Gateway để yêu cầu gửi mail.
Nội dung payload gồm:
Email, BCC, Subject, Body
Bảo bật API Gateway bằng IAM Auth phải có Credential mới có thể call API
Thông tin Authorization
Thông tin được gửi vào API Gateway
API Gateway nhận payload và chuyển tới function Lambda Validate để kiểm tra xem email có violate bounce rate hoặc complaint rate không. Nếu đạt yêu cầu, thông tin email sẽ được đẩy vào SQS queue.
SQS queue giúp xử lý asynchronous, tránh overload khi gửi email hàng loạt. Từ SQS, một lambda function Sendmail sẽ gọi SES SDK để gửi email tới người dùng.
Sau khi SES gửi xong, kết quả (thành công/thất bại) sẽ được trigger qua SNS tới Lambda Tracking. Lambda Tracking cập nhật trạng thái vào DynamoDB.
Như vậy quy trình được tối ưu về hiệu năng và có khả năng mở rộng tốt. Đồng thời trạng thái email cũng được cập nhật đầy đủ vào database.
Dưới đây là video gửi thiệu quá trình gửi mail:
Tạm kết
AWS SES là một dịch vụ gửi email mạnh mẽ và linh hoạt, nhưng cần lưu ý các nguyên tắc gửi mail để tránh bị chặn. Dịch vụ gửi mail thông qua SES của tác giả giúp giải quyết những vấn đề này, giúp người dùng gửi mail hiệu quả và an toàn.
Hy vọng bài viết này sẽ hữu ích cho các bạn đang tìm kiếm giải pháp gửi email hiệu quả và an tòa thông qua các dịch vụ uy tín như AWS.
OneTech Asia là công ty chuyên cung cấp các giải pháp phát triển phần mềm và dịch vụ công nghệ thông tin chất lượng cao. Chúng tôi tự hào về kinh nghiệm và chuyên môn trong việc phát triển website và các hệ thống web lớn trên AWS cho các khách hàng trong và ngoài nước. Hãy liên hệ với chúng tôi để nhận được hỗ trợ tư vấn và đánh giá website nếu bạn đang có ý định xây dựng lại nhé!