SendGrid là gì
SendGrid là 1 trong những trong những dịch vụ nổi tiếng trong việc cung cấp email thanh toán giao dịch (transaction email). Sendgrid cung cấp giải pháp email dựa trên nền tảng đám mây thay thế cho khối hệ thống email truyền thống của bạn, do đó bạn không nhất thiết phải xây dựng, quy mô và duy trì các khối hệ thống mail server.
Sử dụng SendGrid giúp giảm bớt lượng mail gửi đến thư mục rác (junk thư mục), dễ dàng mở rộng nâng cấp qui mô khối hệ thống, cung cấp khả năng nhìn nhận tính hiệu quả của rất nhiều chiến dịch mail marketing cũng như một kho API với những tính năng hữu ích cấp thiết.
Sử dụng SendGrid trong ruby
Để sử dụng SendGrid trong ruby tất cả chúng ta sẽ dùng gem sendgrid-ruby Thêm dòng ở chỗ này vào Gemfile
gem ‘sendgrid-ruby’
sau đó chạy lệnh
bundle
hoặc tùy chỉnh thiết lập bằng dòng lệnh
gem install sendgrid-ruby
Sau lúc tùy chỉnh thiết lập xong gem sendgrid-ruby tất cả chúng ta sẽ mở màn sử dụng những tiện ích mà SendGrid API đem lại
Tạo mới 1 client với username và password
require ‘sendgrid-ruby’ # As a hash client = SendGrid::Client.new(api_user: ‘SENDGRID_USERNAME’, api_key: ‘SENDGRID_PASSWORD’) # Or as a block client = SendGrid::Client.new do |c| c.api_user = ‘SENDGRID_USERNAME’ c.api_key = ‘SENDGRID_PASSWORD’ end
Tạo 1 Mail object và tiến hành gửi mail
mail = SendGrid::Mail.new do |m| m.to = ‘test@sendgrid.com’ m.from = ‘taco@cat.limo’ m.subject = ‘Hello world!’ m.text = ‘I heard you like pineapple.’ end puts client.send(mail) # {“message”:”success”}
Bạn cũng luôn tồn tại thể tạo 1 Mail object bằng phương pháp truyền vào 1 hash
client.send(SendGrid::Mail.new(to: ‘example@example.com’, from: ‘taco@cat.limo’, subject: ‘Hello world!’, text: ‘Hi there!’, html: ‘<bvàgt;Hi there!</bvàgt;’)) # {“message”:”success”}
Thêm file đính kèm
Bằng phương pháp sử dụng add_attachment method tất cả chúng ta có thể đính kèm file khi gửi mail
mail.add_attachment(‘/tmp/report.pdf’, ‘july_report.pdf’)
Các thông số tương trợ
Ngoài các thông số cơ bản khi gửi mail như from, to, subject, text SendGrid cũng tương trợ nhiều thông số khác ví như cc, bcc, reply_to, date, html đáp ứng việc gửi mail với định dạng raw text hoặc html cũng như mô tả chuẩn xác tình trạng của mail được gửi đi
Setup các thông số
Thông số có thể được thiết lập Theo phong cách thông thường trong ruby bằng block hoặc hash
Ví dụ: ta có thể truyền thông số theo 1 trong một cách ở chỗ này
Dùng block
mail = SendGrid::Mail.new do |m| m.to = ‘rbin@sendgrid.com’ m.from = ‘taco@rbin.codes’ end
Dùng hash
client.send(SendGrid::Mail.new(to: ‘rbin@sendgrid.com’, from: ‘taco@cat.limo’))
Thiết lập định dạng cho nội dung mail
Như đã nói ở trên thì nội dung của mail có thể được viết dưới định dạng plain text
mail = SendGrid::Mail.new mail.text = ‘WHATTUP KITTY CAT!?’
hoặc html
mail = SendGrid::Mail.new mail.html = ‘<htmlvàgt;<bodyvàgt;Stuff in here, yo!</bodyvàgt;</htmlvàgt;’
So sánh SendGrid và các dịch vụ tương tự
Bên cạnh SendGrid tất cả chúng ta có thể gặp 1 số dịch vụ tương tự khác ví như Amazon SES, MailGun, Mandrill
Amazon SES
AmazonSES tỏ ra vượt trội trong việc đưa ra 1 mức giá rất rẻ cho một lượng mail lớn (hàng nghìn mail): 4$ / tháng/ 40,000 emails. Tuy nhiên khối hệ thống API mà nó cung cấp lại gây khó khăn cho tất cả những người sử dụng. Mặt khác việc phân tích các số liệu thống kê liên quan đến quá trình gửi, nhận mail là khá hạn chế.
MailGun
Mức giá mà MailGun đưa ra là rất rộng lớn: 15$ / tháng/ 40,000 emails. Trong những khi đó, việc phân tích số liệu mới chỉ dừng ở tầm mức cơ bản, thời kì phản hồi các truy vấn cao. Tuy nhiên MailGun có lợi thế là họ tập trung hướng tới những nhà phát triển.
Mandrill
Mandrill – dịch vụ của Mailchimp cung cấp 1 giao diện đẹp và dễ sử dụng với quá trình thiết lập thuở đầu khá đơn giản. Mức giá mà Mandrill đưa ra khá dễ chịu mặc dù không rẻ như Amazon SES: 5.60$ / tháng/ 40,000 emails. Mandrill cũng được chấp nhận người dùng sử dụng miến phí với 12000 mail / tháng, rất thích phù hợp với các ứng dụng nhỏ cho member. Tuy nhiên mức độ tích hợp chưa đủ mạnh mẽ như SendGrid và mức độ tương trợ ở tầm mức trung bình
SendGrid
SendGrid có thể xem như là dịch vụ tiền phong trong các dịch vụ mail thương nghiệp. SendGrid rất mạnh mẽ trong việc phân tích số liệu thống kê, API đơn giản dễ sử dụng, khả năng tương trợ 24/7. Mức giá mà SendGrid đưa ra không thực sự cao và cũng không thực sự thấp: 9.95$ / tháng/ 40,000 emails. Đây là mức giá thích hợp cho những gì dịch vụ này mang lại. Nếu mức giá này giảm thấp hơn nứa thì có thể khẳng định đây là một trong những loại dịch vụ tuyệt nhất mà bạn nên sử dụng.