Gửi mail với Amazon SES và Rails

Amazon là một trong những thương hiệu hàng đầu thế giới. Amazon có rất nhiều dịch vụ phục vụ cho người dùng trên toàn cầu. Email Marketing cũng không nằm ngoài số đó.

Amazon Simple Email Service (Amazon SES) là dịch vụ gửi Email mà Amazon phát triển để phục vụ khách hàng. Với Amazon SES bạn có thể gửi Email giao dịch, các thông điệp tiếp thị, hoặc bất kỳ loại hình Email nào và bạn cần phải trả phí cho việc gửi Email này.

Cùng với tỉ lệ inbox cao, Amazon SES giúp bạn dễ dàng thống kê việc gửi của bạn và các thông báo về email gửi, email bounce (email bị trả lại), email khiếu nại giúp bạn hoàn thiện chiến lược Email Marketing của bạn hơn.

Tại sao nên gửi Email Marketing qua server Amazon?

Không bị khóa tài khoản email gửi đi

Rất nhiều bạn hiện đang sử dụng các tài khoản gửi email miễn phí như Gmail, Yahoo mail,…để gửi đi độ 200 – 300 email mỗi ngày. Và rồi một vài ngày sau đó, các tài khoản gửi mail này của bạn bị khóa vĩnh viễn. Tại sao ư? Vì đây là những tài khoản miễn phí, được sử dụng cho mục đích cá nhân, phi thương mại. Bạn mang tài khoản cá nhân để gửi email bán hàng thì việc bị phát hiện và khóa tài khoản là chuyện….đương nhiên. Đây là quy định để đảm bảo công bằng cho người sử dụng thôi. Nếu bạn muốn bán hàng bằng email, hãy sử dụng server chuyên cung cấp dịch vụ gửi mail số lượng lớn để gửi đi! Điều này sẽ giúp tài khoản email của bạn không bao giờ bị khóa. Bạn sẽ không bị gián đoạn các giao dịch với khách hàng hay đánh mất các tài liệu, contact quan trọng trong email.

Tỉ lệ gửi Email vào inbox cao

Với việc đánh giá trên uy tín của Email, việc gửi Email qua Amazon rất dễ để được vào inbox kể cả các Email có hình ảnh hay các Email Temple, khác với việc sử dụng các server gửi Email khác chỉ cần có hình ảnh thì Email bạn dễ dàng bị đẩy vào hòm mail quảng cáo.

Chỉ phí gửi rẻ

Với phí gửi mail chỉ $1/ 10.000 email gửi đi cùng với 1 lượng chi phí rất nhỏ cho dung lượng Email gửi đi của bạn, việc bỏ chi phí ra để thực hiện gửi mail qua Amazon là khá dễ dàng. Chỉ đơn giản là bạn cần có 1 chiếc thẻ visa có thể thanh toán bình thường là bạn đã có thể bắt đầu thực hiện chiến dịch gửi Email hàng loạt qua Amazon.

Bảng tham khảo giá một số dịch vụ gửi email (chi phí gửi 40.000 email):

STT Dịch vụ Giá
1 AmazonSES $4
2 Mailgun $15
3 MailJet $17
4 Postmark $30
5 SendinBlue $7.5
6 SendGrid $10

Thống kê gửi

Amazon cung cấp cho bạn đầy đủ các thống kê cho việc gửi Email của bạn: từ các Email gửi đi, Email bị trả lại (bounce), Email khiếu nại bạn và các Email từ chối nhận thư từ bạn. Việc thống kê này giúp bạn luôn có được những đánh giá về chiến lược gửi Email của mình và dựa trên đó sẽ đưa ra được các giải pháp phù hợp hơn ở các chiến lược tiếp theo ?

Bắt đầu

Cấu hình SMTP cho Amazon SES

Bạn có thể sử dụng Simple Mail Transfer Protocol (SMTP) để gửi email thông qua Amazon SES. Bạn cần tên người dùng và mật khẩu Amazon SES SMTP để truy cập vào giao diện Amazon SES SMTP. Để tạo SMTP:

  1. Đăng nhập vào Management Console AWS và mở Amazon SES console tại https://console.aws.amazon.com/ses
  2. Trong cửa sổ chuyển hướng, nhấp vào SMTP Settings.
  3. Trong khung nội dung, nhấp vào Create My Credentials SMTP.
  4. Trong Create User cho hộp thoại SMTP, bạn sẽ thấy rằng tên người dùng SMTP đã được điền vào cho bạn. Bạn có thể chấp nhận tên đề nghị này hay nhập một khác nhau. Để tiếp tục, nhấp vào Tạo
  5. Bấm vào Show Credentials tài SMTP. chứng chỉ SMTP của bạn sẽ được hiển thị trên màn hình; chứng chỉ SMTP của bạn sẽ được hiển thị trên màn hình; Bạn cũng có thể nhấp vào Tải Credentials để tải về một tập tin có chứa thông tin của bạn.

Sau khi tạo chứng chỉ SMTP của bạn, mở màn hình / Email Địa chỉ kích người gửi. Trước khi bạn có thể gửi một email sử dụng Amazon SES, bạn phải sở hữu một địa chỉ hoặc địa chỉ đó sẽ được sử dụng như là người gửi qua các máy chủ mail SMTP SES.

Cấu hình Mailer SMTP trong Rails

Thêm đoạn mã sau vào file config/environments/*.rb.

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings= {
 :address => 'email-smtp.us-east-1.amazonaws.com',
 :authentication => :login,
 :user_name => '<previously configured smtp username>',
 :password => '<previously configured smtp password>',
 :enable_starttls_auto => true,
 :port => 465
}

Sau đó thêm mã trong mailers/ses_mailer.rb

Class SesMailer < ActionMailer::Base
  default from: '[email protected]'
  def welcome
   mail(to:'[email protected]', subject: 'I emailed from AmazonSES!')
  end
end

View: view/ses_mailer/welcome.html.erb

Welcome email!

Gọi Mailer:

#call deliver from mailer action
SesMailer.welcome.deliver

Bạn có thể theo dõi thống kê về các chỉ số của quá trình gửi mail trên Amazon Console.

Gửi email sử dụng gem AWS-SES

  1. Thêm AWS-ses vào Gem File - https://github.com/drewblas/aws-ses
gem "aws-ses", "~> 0.6.0", :require => 'aws/ses'
  1. Mở rộng ActionMailer trong config/initializers/your_config_file.rb, config_file.rb là tên của tập tin chứa những khởi tạo cho gem ses:
ActionMailer::Base.add_delivery_method :ses, AWS::SES::Base,
:access_key_id =>ENV['AMAZON_ACCESS_KEY'],
:secret_access_key =>ENV['AMAZON_SECRET_KEY']
  1. Sau đó, thiết lập các phương thức gửi trong config/environments/*.rb phù hợp.:
Config.action_mailer.delivery_method = :ses

Vậy là bạn đã sẵn sàng để gửi mail qua Amazon SES. Chỉ cần chắc chắn rằng địa chỉ email của bạn đã được Amazon xác thực. Còn chờ gì nữa, hãy bắt đầu email marketing đầu tiên của bạn thôi 😃

All Rights Reserved