Customers Mail CloudのNode.js SDKで追加パラメータに対応しました

Customers Mail CloudではSMTP経由でのメール送信の他、Web APIを使ったメール送信もサポートしています。FaaS(Function as a Service)など、SMTPポートが利用できない環境であってもWeb API経由でメール送信できます。

いくつかのプログラミング言語向けにSDKを開発(非公式、コミュニティベース)していますが、Node.js向けSDKをバージョンアップして最新API(2025年6月現在)のパラメータに対応しました。

インストール

インストールは npm コマンドで行います。

npm i @moongift/customers-mail-cloud -S

使い方

まずライブラリをインポートします。

const { CustomersMailCloud } = require('@moongift/customers-mail-cloud');

次に初期化します。 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ライブラリから送信されたテストメールです')

他のパラメーターは、次のようにして追加できます。 setHeader は複数回呼び出せます。もし不要なヘッダーを追加してしまった場合には、第2引数を null または指定なしで実行してください

client
  .addCC('cc', 'cc@smtps.jp)
  .addBcc('bcc', 'bcc@smtps.jp')
  .setEnvFrom('from@example.com')
  .setReplyTo('no-reply@example.com')
  .setHeader('X-SMTPS-ID', '00001')
  .setHeader('X-SMTPS-MEMBER', '00002')
  .setHeader('X-SMTPS-MEMBER') // ヘッダー削除
  .setCharset('ISO-2022-JP') // デフォルトは UTF-8 です

ここまでで準備ができたので、メール送信を行います。エラーがあればエラーとして検出可能です。

try {
  const res = await client.send()
  console.log(res)
} catch (e) {
  console.log(e)
}

各パラメータについてはEmails - Manual - Customers Mail Cloudを参照してください。

コードについて

コードは goofmint/CustomersMailCloud-js: Customers Mail Cloud用のNode.jsライブラリですで公開しています。不具合などがあれば、ご指摘ください。コードは通常のJavaScriptの他、TypeScriptにも対応しています。

なお、現状のSDKは非公式なので、サポートへのお問い合わせはご遠慮ください。

まとめ

Node.jsからメール送信を行う際に、ライブラリを使うことでとても簡単に実装ができます。ぜひお試しください。