Cài đặt Amazon SES trong rails
1. giới thiệu Amazon SES là một dịch vụ cho gửi email với số lượng lớn có giá thành rẻ và chất lượng tốt nhất hiện nay (giá chỉ 1$$10,000 email), tốc độ gửi rất nhanh, khả năng vào Inbox luôn cao và đặc biệt là phương thức thanh toán tiện lợi (thanh toán qua thẻ Visa). 2. Ưu điểm So với việc ...
1. giới thiệu
Amazon SES là một dịch vụ cho gửi email với số lượng lớn có giá thành rẻ và chất lượng tốt nhất hiện nay (giá chỉ 1$$10,000 email), tốc độ gửi rất nhanh, khả năng vào Inbox luôn cao và đặc biệt là phương thức thanh toán tiện lợi (thanh toán qua thẻ Visa).
2. Ưu điểm
So với việc sử dụng SMTP có sẵn của google thì ta thấy Amazon SES gửi được mail số lượng lớn hơn, tốc độ nhanh hơn và đáng tin cậy hơn rất nhiều. Dễ dàng nâng cấp nếu hệ thống lớn hơn và chi phí cho việc này cũng khá rẻ. Phương thức thanh toán tiện lợi, giúp chúng ta có thể dễ dàng sử dụng và trải nghiệm nó.
3. Cài đặt
AWS::SES là một thư viện của Amazon's Simple Email Service's REST API. Để sử dụng nó trong rails chúng ta có thể sử dụng gem "aws-ses". Trước hết tại gemfile ta cần add gem:
# gemfile gem "aws-ses", "~> 0.6.0", :require => 'aws/ses'
bundle gem, sau đó config nó trong môi trường /config/environments/*.rb
config.action_mailer.delivery_method = :ses
tạo file config/initializers/amazon_ses.rb
ActionMailer::Base.add_delivery_method :ses, AWS::SES::Base, access_key_id: 'SES_AWS_ACCESS_KEY_ID', secret_access_key: 'SES_AWS_SECRET_ACCESS_KEY'
Với SES_AWS_ACCESS_KEY_ID và SES_AWS_SECRET_ACCESS_KEY là key ta nhận được khi đã xác nhận domain email. Ok, vậy là bước config đã xong và ta lấy một ví dụ như sau
Ta viết một mailer và view của nó để tiến hành test:
# mailers/user_mailer.rb class UserMailer < ApplicationMailer default from: noreply@gmail.com def send_mail(user) mail(to: user.email, subject: 'Your account is now activated') end
nội dung mail:
# views/user_mailer/send_mail.text.erb Welcome! ... Thanks for joining and have a great day!
Sử dụng rails console và gõ lệnh
UserMailer.send_mail(User.first).delivery
Với User.first này có email chính là email của các bạn để chúng ta có thể đăng nhập và test xem mail có được gửi đến hay ko. Ở đây tôi lấy ví dụ là mail của tôi với "vietanhbkaaa@gmail.com"
Ok. Vậy là đã xong, chúng ta đã gửi mail thành công thông qua dịch vụ Amazon SES.
Ngoài gem "aws-ses", chúng ta cũng có thể sử dụng gem 'aws-sdk-rails' để cài đặt Amazon Ses trong rails.
4. Kết luận
Bằng những ưu điểm nổi bật, và chi phí thanh toán thấp của mình Amazon SES đang là lựa chọn hàng đầu cho những application có chức năng gửi nhận mail. Sử dụng nó để giúp mang đến những trải nghiệm tốt nhất cho ứng dụng của chính các bạn.