Rubyでメール送信を行う際にはTMailやMail、ActionMailerを使うのが基本だと思いますが、環境によってはSMTPが使えない場合もあります。そうした時にはWeb API経由でのメール送信が便利です。
Customers Mail Cloudにはメール送信用のAPIが用意されていますが、今回はさらに手軽に使いやすくするライブラリを開発したので紹介します。
customers_mail_cloud | RubyGems.org | コミュニティのGemホスティングサービス
インストール
インストールは gem コマンドで行います。
gem install customers_mail_cloud
使い方
まずライブラリをインポートします。
require('customers_mail_cloud')
次に初期化します。 Microsoft Azure で手軽にメール送信する - Customers Mail Cloud ブログ を参考にAPIユーザ、APIキーを作成してください。
client = CustomersMailCloud::Client.new(api_user, api_key)
Web APIのエンドポイントは契約ごとに異なります。それを指定します。
client.trial() # トライアルの場合 client.standard() # スタンダードの場合 client.pro(subdomain) # プロの場合。サブドメイン指定が必須です
後はメール送信に必要な宛先、送信元、件名、本文をそれぞれ指定します。
client.from = CustomersMailCloud::MailAddress.new('info@smtps.jp', 'Admin') client.trial client.to << CustomersMailCloud::MailAddress.new('test@smtps.jp', 'Tester') client.subject = 'Mail subject' client.text = 'Mail body'
ここまでで準備ができたので、メール送信を行います。エラーがあればエラーとして検出可能です。
begin json = client.send puts json rescue => e puts e }
コードについて
コードは goofmint/CustmersMailCloud-rb: Customers Mail CloudのRubyライブラリです で公開しています。不具合などがあれば、ご指摘ください。
まとめ
Rubyからメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。