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