Skip ActionMailer templates — describe the event and let Sendable write and send the message.
Sendable's SDK is JavaScript, but the API is plain HTTP, so it works from Ruby too. You POST the event you want and Sendable writes and sends the email — no template.
require 'net/http'
require 'json'
uri = URI('https://www.sendable.me/v1/send')
req = Net::HTTP::Post.new(uri, {
'Authorization' => "Bearer #{ENV['SENDABLE_API_KEY']}",
'Content-Type' => 'application/json'
})
req.body = {
to: 'sam@example.com',
event: 'order_shipped',
data: { orderId: 'A-1042', eta: 'Friday' }
}.to_json
Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }You send an event name and field names — never a designed template. The model that writes the copy never sees your values, so a price or a link is inserted verbatim and can't be altered, and a second model blocks any claim your data doesn't support.
Written, on-brand email with nothing to maintain.
order_shipped, not update).500 messages a month, no card. One call to integrate.