AWS SES and Sending email setting up
Bài đăng này đã không được cập nhật trong 4 năm
AWS SES là gì
SES là viết tắt của Simple Email Server, là một platform cho phép gửi và nhận email sử dụng email hay domain
Được sử dụng cho việc gửi các marketing emails, email thông báo trong hệ thống như đăng ký, newsletter, order info ..
Pricing
Tham khảo AWS SES pricing tại đây https://aws.amazon.com/ses/pricing/
Giá cả thì phụ thuộc theo region mà bạn chọn, với mức giá như trên thì bạn có thể thoải mái test mà lo bị charge tiền
Nếu bạn deploy ứng dụng lên EC2 (kể cả Free Usage Tier) và send mail từ đó sử dụng SES thì có thể gửi tới 62k email mà không mất phí
Tương thích với các các dịch vụ khác của AWS
- Gửi email từ EC2 sử dụng AWS SDK
- Tương thích với AWS Elastic Beanstalk
- Cài đặt SNS để thông báo về việc email không gửi đi được hay đã gửi hết thành công tới người nhận
- Kiểm soát được việc người dùng access vào email sending bằng IAM
- Lưu trữ email trên dịch vụ S3
- Trigger email sử dụng AWS Lambda
- Đưa các event email sending sang Amazon Cloudwatch
Send email từ ứng dụng EC2 và SES
Điều đầu tiên để sử dụng được SES hay bất cứ dịch vụ nào của AWS thì bạn cần có một tài khoản của AWS. Tham khảo tại đây https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sign-up-for-aws.html
Tạo một smtp setting
-
truy cập vào ses service chọn region
-
chọn SMTP settings
-
Và click vào nút create “Create my SMTP credential” button
-
SES sẽ tạo ra một IAM user cho việc authenticate, để default vào click create
-
Lấy thông tin credential từ file csv mà bạn có từ step 2 điền vào smtp setting trong ứng dụng của bạn
config.action_mailer.smtp_settings = {
:address => ENV["ADD"],
:port => ENV["PORT"],# 587
:user_name => ENV["USER_NAME"],
:password => ENV["PASSWORD"],
:authentication => 'login',
:enable_starttls_auto => true
}
Để gửi được email đi bạn cần setup và chứng thực một email
Verify email
-
Access SES service
-
Click Email Address menu
-
Click Verify new email button , Nhập địa chỉ email của bạn
-
Một thông báo AWS SES gửi cho bạn email confirm để chứng thực, vào mail box và click vào link confirm
-
Sau khi click vào email link confirmation mà AWS gửi bạn email của bạn sẽ được verify
Như vậy là các bước setting đã hoàn tất, ứng dụng của bạn đã sẵn sàng gửi email tới bất cứ đâu với sender là email mà bạn vừa verify
Sanbox limitation
Mặc định thì tài khoản SES service của bạn sẽ ở chế độ Sandbox và tài khoản sandbox thì có giới hạn
- Sending quota: 200 emails / day
- Max send rate: 1 email /s
Để gửi được nhiều email hơn bạn cần phải request ra khỏi sandbox sang môi trường product
Detail https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html
Tham khảo
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html
All rights reserved