Node.jsでメール送信を行う際にはnode-sendmailを使うのが基本だと思いますが、環境によってはSMTPが使えない場合もあります。そうした時にはWeb API経由でのメール送信が便利です。
Customers Mail Cloudにはメール送信用のAPIが用意されていますが、今回はさらに手軽に使いやすくするライブラリを開発したので紹介します。
インストール
インストールは npm コマンドで行います。
npm i customersmailcloud -S
使い方
まずライブラリをインポートします。
const { CustomersMailCloud } = require('customersmailcloud');
次に初期化します。 Node.jsでメールを送信する - Email Sending API - Customers Mail Cloud ブログ ブログを参考にAPIユーザ、APIキーを作成してください。
const api_user = 'API_USER' const api_key = 'API_KEY' const client = new CustomersMailCloud(api_user, api_key)
Web APIのエンドポイントは契約ごとに異なります。それを指定します。
client.trial() // トライアルの場合 client.standard() // スタンダードの場合 client.pro(subdomain) // プロの場合。サブドメイン指定が必須です
後はメール送信に必要な宛先、送信元、件名、本文をそれぞれ指定します。上記のエンドポイントを含め、キーチェーンメソッドで連結可能です。
client .setFrom('Admin', 'info@example.com') .addTo('John Doe', 'john@example.com') .setSubject('テストメール') .setText('これはNode.jsライブラリから送信されたテストメールです')
ここまでで準備ができたので、メール送信を行います。エラーがあればエラーとして検出可能です。
try { const res = await client.send() console.log(res) } catch (e) { console.log(e) }
コードについて
コードは goofmint/CustomersMailCloud-js: Customers Mail Cloud用のNode.jsライブラリですで公開しています。不具合などがあれば、ご指摘ください。コードは通常のJavaScriptの他、TypeScriptにも対応しています。
まとめ
Node.jsからメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。