How to Send Email with Ruby

Use this Net::HTTP example in Rails apps or standalone Ruby services.

Ruby Net::HTTP example


require 'json'
require 'net/http'

uri = URI('https://sendwich.dev/api/v1/message')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = "Bearer #{ENV.fetch('SENDWICH_API_KEY')}"
request['Content-Type'] = 'application/json'
request.body = {
  from: 'Acme ',
  to: ['customer@example.com'],
  subject: 'Welcome',
  html: '

Your account is now active.

', text: 'Your account is now active.' }.to_json response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end raise "Sendwich request failed: #{response.code} #{response.body}" unless response.code == '201'

Rails tip

Trigger sends from background jobs (e.g. Active Job) so user-facing requests stay fast.