Customers Mail CloudのNode.js SDKでCC/BCCに対応しました

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からメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。