Customers Mail CloudではSMTP経由でのメール送信の他、Web APIを使ったメール送信もサポートしています。FaaS(Function as a Service)など、SMTPポートが利用できない環境であってもWeb API経由でメール送信できます。
いくつかのプログラミング言語向けにSDKを開発(非公式、コミュニティベース)していますが、Node.js向けSDKをバージョンアップしてCC/BCCに対応しました。
インストール
インストールは 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ライブラリから送信されたテストメールです')
そしてCC、BCCは次のように追加できます。addToと同じように扱えます。addTo/addCC/addBccは複数回呼び出すことで、複数のアドレスに対してメール送信できます。
client .addCC('cc', 'cc@smtps.jp) .addBcc('bcc', 'bcc@smtps.jp');
ここまでで準備ができたので、メール送信を行います。エラーがあればエラーとして検出可能です。
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からメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。